<?php
 $verification_installation = 1 ;
 $nombre_etapes = 5 ;
 $couleur_ok = "#C4F36E" ;
 $couleur_non_ok = "#F9977F" ;
 $non_centrer = 0 ;
 
 If (IsSet ($_POST ["bdd_sql"])) { $bdd_sql = $_POST ["bdd_sql"] ; } ElseIf (IsSet ($_GET ["bdd_sql"])) { $bdd_sql = $_GET ["bdd_sql"] ; }
 If (IsSet ($bdd_sql) And ($bdd_sql != "")) { $base_choisie = $bdd_sql ; }
 ElseIf (IsSet ($_POST ["sql_base"])) { $base_choisie = $_POST ["sql_base"] ; } Else { $base_choisie = "garennes" ; }
 If (File_Exists ("./include/garennes.cfg")) { Include_Once ("./include/garennes.cfg") ; }
 Include_Once ("./include/init.php") ;
 Include ("./include/liste_tables.inc") ;

 $rep_themes = "./images/themes/" ;
 $titre_fenetre = "Installation de Garennes Version ".$version_garennes."...&nbsp;&nbsp;<i><a href=\"./documentation/garennes_installation.pdf\" target=\"_AIDE\"><img src=\"./secretariat/images/aide.png\" border=\"0\" title=\"AIDE\"></a></i>" ;
 // Verification des fonctions SQL
 $erreur = 0 ;
 If (IsSet ($type_bdd))
  {
   Switch ($type_bdd)
    {
     Case "MySQL"      : If (!Function_Exists ("MySQL_Connect")) { $erreur = 1 ; }
                         Break ;;
     Case "mSQL"       : If (!Function_Exists ("mSQL_PConnect")) { $erreur = 2 ; }
                         Break ;;
     Case "PostgreSQL" : If (!Function_Exists ("PG_PConnect")) { $erreur = 3 ; }
                         Break ;;
     Default           : If (!Function_Exists ("MySQL_Connect")) { $erreur = 1 ; }
                         Break ;;
    }
  }
 ElseIf (!Function_Exists ("MySQL_Connect")) { $erreur = 1 ; }
 If ($erreur != 0)
  {
   Echo entete_page ("", "") ;
   Echo "<html><head></head><body background=\"./images/fond.png\" bgcolor=\"#FFFFFF\" text=\"#000000\" onContextMenu=\"return false\">" ;
   Echo "<center><img src=\"./images/logo.png\" border=\"0\"><br>" ;
   Echo "<h1>L'installation de Garennes ne peut pas continuer !<br>" ;
   Echo "Vous n'avez pas la biblioth&egrave;que de gestion SQL pour PHP install&eacute;e.<br>" ;
   Echo "Actuellement, seule la bilioth&egrave;que MySQL est possible (php4-mysql ou php5-mysql)." ;
   Echo "</center></body></html>" ;
   Exit (1) ;
  }
 
 $millesime = millesime (0) ;
 
 /**
 * Fonction qui test si le repertoire $repertoire a des droits d'ecriture
 * @param string $repertoire Nom du repertoire
 * @return int 0=Pas de droits, 1=Droit d'ecriture
 */
 Function test_ecriture_rep ($repertoire)
  {
   $ok = 0 ;
   If ($fiche = @FOpen ($repertoire."/essai.php", "w"))
    {
     @FPuts ($fiche, "<?php \$ok=1; ?>") ;
     @FClose ($fiche) ;
     @Include ($repertoire."/essai.php") ;
     @UnLink ($repertoire."/essai.php") ;
    }
   Return $ok  ;
  }
 
 /**
 * Fonction qui test si le fichier $repertoire/$fichier a des droits d'ecriture
 * @param string $repertoire Nom du repertoire contenant le fichier
 * @param string $repertoire Nom du fichier dans ce repertoire
 * @return int 0=Pas de droits, 1=Droit d'ecriture
 */
 Function test_ecriture_fichier ($repertoire, $fichier)
  {
   $ok = 0 ;
   If (File_Exists ($repertoire."/".$fichier))
    {
     If ($fiche = @FOpen ($repertoire."/".$fichier, "a")) { $ok = 1 ; FClose ($fiche) ; }
    }
   Else { $ok = test_ecriture_rep ($repertoire) ; }
   Return $ok  ;
  }

 /**
 * Fonction qui test si le fichier $repertoire/$fichier a des droits de lecture
 * @param string $repertoire Nom du repertoire contenant le fichier
 * @param string $repertoire Nom du fichier dans ce repertoire
 * @return int 0=Pas de droits, 1=Droit d'ecriture
 */
 Function test_lecture_fichier ($repertoire, $fichier)
  {
   $ok = 0 ;
   If (File_Exists ($repertoire."/".$fichier))
    {
     If ($fiche = @FOpen ($repertoire."/".$fichier, "r")) { $ok = 1 ; FClose ($fiche) ; }
    }
   Return $ok  ;
  }
 
 /**
 * Fonction qui test si la presence dans la base de donnees d'une table de nom $nom
 * @param string $nom Nom de la table
 * @param mixed $id_sql Identifiant de connexion SQL
 * @return int 0=Pas de droits, 1=Droit d'ecriture
 */
 /*
 Function test_presence_table ($nom, $id_sql)
  {
   $ok = 0 ;
   $res = SQL_commande ("SHOW TABLES", $id_sql) ;
   If (SQL_nbr_lignes ($res) > 0)
    {
     For ($i = 0 ; $i < SQL_nbr_lignes ($res) ; $i++)
      {
       $r = SQL_ligne_suivante ($res) ;
       If ($r [0] == $nom) { $ok = 1 ; }
      }
    }
   Return $ok  ;
  }
 */
 /**
 * Fonction qui test si le champ $nom_champ est present dans la table $nom_table de la base de donnees
 * @param string $nom_table Nom de la table
 * @param string $nom_champ Nom du champ de cette table
 * @param mixed $id_sql Identifiant de connexion SQL
 * @return int 0=Pas de droits, 1=Droit d'ecriture
 */
 /*
 Function test_presence_champ ($nom_table, $nom_champ, $id_sql)
  {
   $ok = 0 ;
   $res = SQL_commande ("SELECT ".$nom_champ." FROM ".$nom_table." LIMIT 1", $id_sql) ;
   If ($res) { $ok = 1 ; }
   Return $ok  ;
  }
 */
 /**
 * Fonction qui test si le champ $nom_champ de la table $nom_table contient $valeur
 * @param string $nom_table Nom de la table
 * @param string $nom_champ Nom du champ de cette table
 * @param string $condition Condition d'obtention de la valeur cherchee
 * @param string $valeur Valeur a comparer
 * @param mixed $id_sql Identifiant de connexion SQL
 * @return int 0=Pas de droits, 1=Droit d'ecriture
 */
 /*
 Function test_presence_contenu ($nom_table, $nom_champ, $condition , $valeur, $id_sql)
  {
   $ok = 0 ;
   $res = SQL_commande ("SELECT ".$nom_champ." FROM ".$nom_table." WHERE ".$condition." LIMIT 1", $id_sql) ;
   If (SQL_nbr_lignes ($res) == 1)
    {
     $r = SQL_ligne_suivante ($res) ;
     If ($r [0] == $valeur) { $ok = 1 ; }
    }
   Return $ok  ;
  }
 */
 /**
 * Fonction de verification de version de Garennes
 * @param mixed $id_sql Identifiant de connexion SQL
 * @return array [0]=Nom de la version,[1]=Numero de la version
 */
 Function verif_version ($id_sql)
  {
   Global $test ;
   $i = $test [0][0] ;
   $ok = 0 ;
   $num_version = 0 ;
   While (($ok == 0) And ($i >= 1))
    {
     $version = 0 ;
     If ((Is_Numeric ($test [$i][1])) Or ($test [$i][1] == "C") Or ($test [$i][1] == "F"))
      {
       If ($test [$i][1] == "C")
        {
         If (test_presence_contenu ($test [$i][2], $test [$i][3], $test [$i][4], $test [$i][5], $id_sql) == 1) { $ok = 1 ; $version = $test [$i+1][0] ; $num_version = $i+1 ; }
        }
       ElseIf ($test [$i][1] == "F")
        {
         For ($j = 1 ; $j <= $test [$i][2] ; $j++)
          {
           If (File_Exists ($test [$i][2+$j])) { $ok = 1 ; $version = $test [$i+1][0] ; $num_version = $i+1 ; }
          }
        }
       Else
        {
         For ($j = 1 ; $j <= Abs ($test [$i][1]) ; $j++)
          {
           //If (test_presence_table ($test [$i][$j+1], $id_sql) == 1) { $version++ ; }
           If ($test [$i][1] > 0)
            {
             If (test_presence_table ($test [$i][$j+1], $id_sql) == 1) { $version++ ; }
            }
           ElseIf ($test [$i][1] < 0)
            {
             If (test_presence_champ ($test [$i][$j*3-1], $test [$i][$j*3], $id_sql) == 1) { $version++ ; }
            }
          }
         If ($version == Abs ($test [$i][1])) { $ok = 1 ; $version = $test [$i+1][0] ; $num_version = $i+1 ; }
        }
      }
     $i-- ;
    }
   $t [0] = $version ;
   $t [1] = $num_version ;
   Return $t ;
  }

 /**
 * Mise a jour specifique a la version 0.6.4
 * @param mixed $id_sql Identifiant de la connexion SQL
 */
 Function maj_064 ($id_sql)
  {
   // Exportation des donnees de 'gestion' vers 'etablissements'
   $gestion = SQl_commande ("SELECT * FROM gestion LIMIT 1", $id_sql) ;
   $g = SQL_tableau_associatif ($gestion,"") ;
   // SET licence='',cahier_textes='1',debut_cahier_textes='0000-00-00',fin_cahier_textes='0000-00-00',
   //     heure_debut='08:00:00',heure_fin='17:30:00',heure_pas='30',cahier_public='0',visu_devoirs='0',taille_fichier='100',
   //     taille_espace='5000',rep_stockage='documents/',
   $ok = SQL_commande ("UPDATE etablissements SET nombre_chiffres='".$g ["nombre_chiffres"]."',coefficient='".$g ["coefficient"]."',
			signature='".$g ["signature"]."',moyenne='".$g ["moyenne"]."',max='".$g ["max"]."',aff_nc='".$g ["aff_nc"]."',aff_c='".$g ["aff_c"]."',
			seuil_bas='".$g ["seuil_bas"]."',seuil_haut='".$g ["seuil_haut"]."',aff_evolution='".$g ["aff_evolution"]."',
			aff_nombre_notes='".$g ["aff_nombre_notes"]."',bulletin_cpe='".$g ["bulletin_cpe"]."',examen_blanc='".$g ["examen_blanc"]."',
			entete_bulletins='".$g ["entete_bulletins"]."',entete_releves='".$g ["entete_releves"]."',imprimer_logo_bulletins='".$g ["imprimer_logo_bulletins"]."',
			imprimer_logo_releves='".$g ["imprimer_logo_releves"]."',logo_bulletins='".$g ["logo_bulletins"]."',logo_releves='".$g ["logo_releves"]."'", $id_sql) ;
   $ok = SQL_commande ("ALTER TABLE gestion DROP coefficient,DROP signature,DROP moyenne,DROP max,DROP aff_nc", $id_sql) ;
   $ok = SQL_commande ("ALTER TABLE gestion DROP aff_c,DROP seuil_bas,DROP seuil_haut,DROP aff_evolution,DROP aff_nombre_notes", $id_sql) ;
   $ok = SQL_commande ("ALTER TABLE gestion DROP bulletin_cpe,DROP examen_blanc,DROP logo_bulletins,DROP logo_releves", $id_sql) ;
   $ok = SQL_commande ("ALTER TABLE gestion DROP entete_bulletins,DROP entete_releves,DROP imprimer_logo_bulletins,DROP imprimer_logo_releves", $id_sql) ;
   //$ok = SQL_commande ("INSERT INTO types_modules (nom,menu,identifiant,actif) VALUES ('Noyau','menus_noyau','0','1')", $id_sql) ;
   //$ok = SQL_commande ("INSERT INTO gestion_modules (identifiant,id_utilisateur,droits) VALUES ('0','0','60'),('0','0','50'),('0','0','40'),('0','0','30'),('0','0','25'),('0','0','20'),('0','0','10')", $id_sql) ;
  }

 /**
 * Mise a jour specifique a la version 0.6.5
 * @param mixed $id_sql Identifiant de la connexion SQL
 */
 Function maj_065 ($id_sql)
  {
   Global $millesime ;
   $ok = SQL_commande ("UPDATE appreciations SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE autorisations SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE calcul_moyenne SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE classe_virtuelle SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE classement SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE classes SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE configuration SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE controles SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE disciplines SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE eleves SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE etablissements SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE groupes_classe SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE groupes_eleve SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE groupes_utilisateurs SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE interdictions SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE memo_notes SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE moyennes SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE notes SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE options_eleve SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE periodes_classe SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE services_classe SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE services_prof SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE simulation_coefficients SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE sous_matieres SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE type_classe_virtuelle SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE types_examens SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE types_periode SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE types_regimes SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE types_utilisateurs SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE utilisateurs SET millesime='".$millesime."'", $id_sql) ;
   $ok = SQL_commande ("UPDATE vie_scolaire SET millesime='".$millesime."'", $id_sql) ;
  }

 $etape_verif = var_courante ("etape_verif", 0, 0) ;
 
 If (IsSet ($etape_verif) And ($etape_verif > 0))
  {
   Include_Once ("./include/init.php") ;
   $code = -1 ;
   Include_Once ($rep_themes."config.inc") ;
   $param_theme ["nom_repertoire"] = $themes [$themes [0][1]][1] ;
   $param_theme ["fichier_config"] = $themes [$themes [0][1]][2] ;
   Include_Once ($rep_themes.$param_theme ["nom_repertoire"]."/".$param_theme ["fichier_config"]) ;
   Echo "<html><head>" ;
   entete_html ("Garennes.", "_self", 0) ;
   Echo styles ("none", "none", "none", $theme [0][32], "none") ;
   Echo"</head><body background=\"./images/fond.png\" bgcolor=\"#FFFFFF\" text=\"#000000\" onContextMenu=\"return false\">" ;
   Echo "<center><img src=\"./images/logo.png\" border=\"0\"></center><br>" ;
   Include ("./professeurs/include/debut_theme.inc") ;
   Switch ($etape_verif)
    {
     Case 1 : $i = FOpen ("./licence.txt", "r") ;
              $licence = FRead ($i, FileSize ("./licence.txt")) ;
              FClose ($i) ;
	      Echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"".$couleur_ok."\">" ;
	      Echo "<tr bgcolor=\"".$theme [0][3]."\"><td style=\"border-bottom:1px solid #000000\">&nbsp;<b>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</b>&nbsp;</td></tr>" ;
              Echo "<tr><td align=\"center\"><br>&nbsp;<b>LICENCE&nbsp;D'UTILISATION</b>&nbsp;</td></tr>" ;
	      Echo "<tr><td>&nbsp;<pre>".$licence."</pre>&nbsp;</td></tr>" ;
	      Echo "<tr><td>&nbsp;</td></tr>" ;
	      Echo "<tr bgcolor=\"".$theme [0][3]."\">" ;
	      Echo "<form><td align=\"right\" style=\"border-top:1px solid #000000\">&nbsp;" ;
	      Echo "<input type=\"button\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".($etape_verif+1)."&bdd_sql=".$base_choisie."'\" title=\"Passer &agrave; l'&eacute;tape 2\" style=\"border:1px solid #000000\" value=\" Accepter la licence \"></td></form>" ;
	      Echo "</tr></table>" ;
              Break ;
     Case 2 : $version_php = Explode (".", PHPVersion ()) ;
              //$test_iconv = Function_Exists ("iconv_set_encoding") ;
	      $test_gd = Extension_Loaded ("gd") ;
	      $test_mysql = Extension_Loaded ("mysql") ;
	      $test_session = Extension_Loaded ("session") ;
	      If ($test_mysql) { $mysql_version = Explode (".", MySQL_Get_Client_Info ()) ; }
	      $test_register_globals = Ini_Get ("register_globals") ;
              If (test_ecriture_rep ("./inclus") And test_ecriture_fichier ("./inclus", "config.inc") And
                  test_ecriture_rep ("./administration/restauration") And test_ecriture_rep ("./administration/sauvegarde") And
		  test_ecriture_rep ("./tmp") And test_ecriture_rep ("./images/eleves") And test_ecriture_rep ("./images/eleves/vignettes") And
		  test_ecriture_rep ("./images/profs") And test_ecriture_rep ("./images/profs/vignettes") And
		  test_ecriture_rep ("./include") And test_ecriture_rep ("./images") And test_ecriture_rep ("./documents") And
		  test_ecriture_rep ($repertoire_logos_bulletins_racine) And test_ecriture_rep ($repertoire_logos_releves_racine) And
		  ($version_php [0] > "3") And ($version_php > "2") And $test_mysql)// And ($test_register_globals == 0))
               {
	        $rep_exec = GetCwd () ;
		$i = FOpen ("./include/licence_entete.txt", "r") ;
                $licence_entete = FRead ($i, FileSize ("./include/licence_entete.txt")) ;
                FClose ($i) ;
                $i = FOpen ("./licence.txt", "r") ;
                $licence = FRead ($i, FileSize ("./licence.txt")) ;
                FClose ($i) ;
		$fichier  = @FOpen ("./inclus/config.inc", "w") ;
		FPuts ($fichier, "<?php\n/*\n") ;
		FPuts ($fichier, $licence_entete) ;
		FPuts ($fichier, $licence) ;
		FPuts ($fichier, "*/\n\n") ;
		FPuts ($fichier, " // Chargement des parametres de connexion SQL\n") ;
		FPuts ($fichier, " @Include (\"".$rep_exec) ;
                If (StrToUpper (SubStr (PHP_OS, 0, 3) == "WIN")) { FPuts ($fichier, "\\include\\garennes.cfg\") ;\n") ; } Else { FPuts ($fichier, "/include/garennes.cfg\") ;\n") ; }
		FPuts ($fichier, " // Chargement de la bibliotheque de Garennes\n") ;
		FPuts ($fichier, " @Include_Once (\"".$rep_exec) ;
                If (StrToUpper (SubStr (PHP_OS, 0, 3) == "WIN")) { FPuts ($fichier, "\\include\\init.php\") ;\n") ; } Else { FPuts ($fichier, "/include/init.php\") ;\n") ; }
                Fputs ($fichier, "?".">") ;
		FClose ($fichier) ;
		Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\">" ;
		Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                Echo "<TR><TD>&nbsp;</TD></TR>" ;
		/*
		If ($test_iconv) { Echo "<TR><TD>&nbsp;Module <B>Iconv</B> ".ICONV_VERSION." actif.&nbsp;</TD></TR>" ; }
		Else
		 {
		  Echo "<TR><TD  BGCOLOR=\"".$couleur_non_ok."\">&nbsp;Module <B>Iconv</B> non actif ou install&eacute;.<BR>&nbsp;&nbsp;&nbsp;&nbsp;Il n'emp&egrave;che pas Garennes de fonctionner.&nbsp;</TD></TR>" ;
		 }
		*/
		If (!$test_gd)
		 {
 	          Echo "<TR><TD  BGCOLOR=\"".$couleur_non_ok."\">&nbsp;Module <B>GD</B> non actif ou install&eacute;.<BR>&nbsp;&nbsp;&nbsp;&nbsp;Il n'emp&egrave;che pas Garennes de fonctionner,<BR>&nbsp;&nbsp;&nbsp;&nbsp;mais vous ne pourrez pas visualiser le bilan graphique correctement.&nbsp;</TD></TR>" ;
		 }
		Else
		 {
		  Echo "<TR><TD>&nbsp;Module <B>GD</B> actif.&nbsp;</TD></TR>" ;
		 }
 	        If (($mysql_version [0] < "3") And ($mysql_version [1] < "23"))
	         {
	          Echo "<TR><TD>&nbsp;Client <B>MySQL</B> version inf&eacute;rieure &agrave; 3.23.&nbsp;</TD></TR>" ;
		 }
		Else
		 {
		  Echo "<TR><TD>&nbsp;Client <B>MySQL</B> ".MySQL_Get_Client_Info ().".&nbsp;</TD></TR>" ;
		 }
		If (!$test_session)
		 {
		  Echo "<TR><TD  BGCOLOR=\"".$couleur_non_ok."\">&nbsp;Module <B>SESSION</B> non actif ou install&eacute;.<BR>&nbsp;&nbsp;&nbsp;&nbsp;Il est indispensable dans le fonctionnement de Garennes.&nbsp;</TD></TR>" ;
		 }
		Else
		 {
		  Echo "<TR><TD>&nbsp;Module <B>SESSION</B> actif.&nbsp;</TD></TR>" ;
		 }
		Echo "<TR><TD>&nbsp;</TD></TR>" ;
		Echo "<TR><TD>&nbsp;&Eacute;criture du fichier <B><I>/inclus/config.inc</I></B> -> Fait !.&nbsp;</TD></TR>" ;
		Echo "<TR><TD>&nbsp;</TD></TR>" ;
		Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".($etape_verif+1)."&bdd_sql=".$base_choisie."'\" TITLE=\"Passer &agrave; l'&eacute;tape 2\" STYLE=\"border:1px solid #000000\" VALUE=\" &Eacute;TAPE SUIVANTE -> \"></TD></FORM>" ;
		Echo "</TR></TABLE>" ;
	       }
	      Else
	       {
	        // Pb d'ecriture dans le repertoire ou dans le fichier ou les deux
		Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
		Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                Echo "<TR><TD>&nbsp;</TD></TR>" ;
		Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Pour continuer l'installation, vous devez r&eacute;gler les probl&egrave;mes suivants :&nbsp;</TD></TR>" ;
		Echo "<TR><TD>&nbsp;</TD></TR>" ;
		$pb = 0 ;
		If (($version_php [0] < "4") And ($version_php [1] < "3"))
		 {
		  Echo "<TR><TD>&nbsp;Vous utilisez PHP version <B>".PHPVersion ()."</B>.&nbsp;Garennes ne fonctionne qu'&agrave; partir de la version 4.3.x&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
		 }
		// Register globals
		If ($test_register_globals == 1)
		 {
		  Echo "<TR><TD>&nbsp;Il est conseill&eacute; de positionner la variable <B><I>register_globals</I></B> sur <B><I>off</I></B> (voir documentation d'installation <I><A HREF=\"./documentation/garennes_installation.pdf\">garennes_installation.pdf</A></I>).<BR>" ;
		  Echo "&nbsp;&nbsp;Cette variable est indispensable au fonctionnement s&eacute;curitaire de Garennes.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
		 }
		// Module iconv
		/*
		If (!$test_iconv)
		 {
		  Echo "<TR><TD>&nbsp;Le module <B>Iconv</B> n'est pas activ&eacute; ou install&eacute;. Il n'est pas n&eacute;cessaire pour le fonctionnement de Garennes, mais simplement recommand&eacute;.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
		 }
		*/
		// Module GD
		If (!$test_gd)
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le module <B>GD</B> n'est pas activ&eacute; ou install&eacute;. Il n'emp&egrave;che pas Garennes de fonctionner, mais vous ne pourrez pas visualiser le bilan graphique correctement.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
		 }
		// Support MySQL
		If ($test_mysql)
		 {
		  If (($mysql_version [0] < "3") And ($mysql_version [1] < "23"))
		   {
		    Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le client <B>MySQL</B> d&eacute;tect&eacute; est une version inf&eacute;rieure &agrave; 3.23.&nbsp;</TD></TR>" ;
		    Echo "<TR><TD>&nbsp;</TD></TR>" ;
		    $pb++ ;
		   }
		 }
		Else
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le module MySQL semble ne pas &ecirc;tre activ&eacute; ou install&eacute;.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Installer&nbsp;<B>MySQL</B>&nbsp;pour&nbsp;PHP&nbsp;version&nbsp;3.23&nbsp;minimum&nbsp;(php_mysql,...)&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
		 }
		// Test d'ecriture
		If (!test_ecriture_rep ("./administration/restauration"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/administration/restauration/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
                If (!test_ecriture_rep ("./administration/sauvegarde"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/administration/sauvegarde/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If (!test_ecriture_rep ("./documents"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/documents/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If (!test_ecriture_rep ("./images"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If (!test_ecriture_rep ("./images/eleves"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/eleves/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		//If (!test_ecriture_rep ("./images/logos"))
		// {
		//  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/logos/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		//  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		//  $pb++ ;
                // }
		If (!test_ecriture_rep ("./images/eleves/vignettes"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/eleves/vignettes/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If (!test_ecriture_rep ("./images/profs"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/profs/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If (!test_ecriture_rep ("./images/profs/vignettes"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/profs/vignettes/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If (!test_ecriture_rep ($repertoire_logos_bulletins_racine))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/".$repertoire_logos_bulletins."/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If ($repertoire_logos_bulletins_racine != $repertoire_logos_releves_racine)
		 {
		  If (!test_ecriture_rep ($repertoire_logos_releves_racine))
		   {
		    Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/".$repertoire_logos_releves."/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		    Echo "<TR><TD>&nbsp;</TD></TR>" ;
		    $pb++ ;
		   }
                 }
		If (!test_ecriture_rep ("./include"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/include/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If (!test_ecriture_rep ("./inclus"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/inclus/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If (File_Exists ("./inclus/config.inc"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Un fichier <B><I>config.inc</I></B> existe dans le r&eacute;pertoire <I>/inclus/</I>.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Il est pr&eacute;f&eacute;rable de le sauvegarder, car il va &ecirc;tre &eacute;cras&eacute; par la nouvelle installation.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
		  If (!test_ecriture_fichier ("./inclus", "config.inc"))
		   {
		    Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;ATTENTION : De plus, ce fichier n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		    Echo "<TR><TD>&nbsp;</TD></TR>" ;
		    $pb++ ;
		   }
		 }
		If (!test_ecriture_rep ("./tmp"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/tmp/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
                //Echo "<TR><TD>&nbsp;</TD></TR>" ;
                Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;R&eacute;gler le" ; If ($pb > 1) { Echo "s" ; }
		Echo " probl&egrave;me" ; If ($pb > 1) { Echo "s" ; }
		Echo ", puis cliquer sur SUIVANT.</TD></TR>" ;
		Echo "<TR><TD>&nbsp;</TD></TR>" ;
		Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&bdd_sql=".$base_choisie."'\" TITLE=\"Refaire l'&eacute;tape ".$etape_verif."/".$nombre_etapes."\" STYLE=\"border:1px solid #000000\" VALUE=\" SUIVANT -> \"></TD></FORM>" ;
		Echo "</TR></TABLE>" ;
	       }
	      Break ;
     Case 3 : If (test_ecriture_rep ("./include") And test_ecriture_fichier ("./include", "garennes.cfg"))
               {
	        If (File_Exists ("./include/garennes.cfg"))
		 {
		  Include ("./include/garennes.cfg") ;
		  While ((SubStr ($http_garennes, StrLen ($http_garennes), 1) == "/") And ($http_garennes != ""))
		   { $http_garennes = SubStr ($http_garennes, 0, StrLen ($http_garennes)-1) ; }
		 }
		// Test des variables de configuration generales
		If (!IsSet ($sql_adresse)) { $sql_adresse = "localhost" ; }
                If (!IsSet ($sql_qui)) { $sql_qui = "root" ; }
                If (!IsSet ($sql_passe)) { $sql_passe = "" ; }
		If (!IsSet ($sql_port)) { $sql_port = 3306 ; }
                If (!IsSet ($sql_base)) { $sql_base = "garennes" ; }
		If (!IsSet ($sql_secondaire)) { $sql_secondaire = "localhost" ; }
		If (!IsSet ($sql_tertiaire)) { $sql_tertiaire = "localhost" ; }
                If (!IsSet ($auth_mode)) { $auth_mode = "1" ; } // Authentification interne par defaut
                If (!IsSet ($code_absent)) { $code_absent = "A" ; }
                If (!IsSet ($code_dispense)) { $code_dispense = "D" ; }
		If (!IsSet ($code_non_rendu)) { $code_non_rendu = "N" ; }
                If (!IsSet ($code_aucune_note)) { $code_aucune_note = "?" ; }
                If (!IsSet ($code_pas_discipline)) { $code_pas_discipline = "??" ; }
                If (!IsSet ($note_par_defaut)) { $note_par_defaut = 20 ; }
                
                If (!IsSet ($troptard [$droit_admin])) { $troptard [$droit_admin] = 10000 ; }
                If (!IsSet ($troptard [$droit_direction])) { $troptard [$droit_direction] = 10000 ; }
                If (!IsSet ($troptard [$droit_secretariat])) { $troptard [$droit_secretariat] = 10000 ; }
                If (!IsSet ($troptard [$droit_cpe])) { $troptard [$droit_cpe] = 10000 ; }
                If (!IsSet ($troptard [$droit_surveillant])) { $troptard [$droit_surveillant] = 10000 ; }
                If (!IsSet ($troptard [$droit_prof])) { $troptard [$droit_prof] = 8000 ; }
                If (!IsSet ($troptard [$droit_eleve])) { $troptard [$droit_eleve] = 6000 ; }
                
                If (!Is_Array ($inactivite)) { Unset ($inactivite) ; }
                If (!IsSet ($inactivite [$droit_admin])) { $inactivite [$droit_admin] = 900 ; }
                If (!IsSet ($inactivite [$droit_direction])) { $inactivite [$droit_direction] = 3600 ; }
                If (!IsSet ($inactivite [$droit_secretariat])) { $inactivite [$droit_secretariat] = 3600 ; }
                If (!IsSet ($inactivite [$droit_cpe])) { $inactivite [$droit_cpe] = 900 ; }
                If (!IsSet ($inactivite [$droit_surveillant])) { $inactivite [$droit_surveillant] = 900 ; }
                If (!IsSet ($inactivite [$droit_prof])) { $inactivite [$droit_prof] = 900 ; }
                If (!IsSet ($inactivite [$droit_eleve])) { $inactivite [$droit_eleve] = 600 ; }
                
                If (!IsSet ($duree_entre_message)) { $duree_entre_message = 30 ; }
                If (!IsSet ($nombre_messages)) { $nombre_messages = 4 ; }
                If (!IsSet ($hebergement))
                 {
                  $hebergement [0][0] = 4 ;
                  $hebergement [0][1] = 1 ;
                  
                  $hebergement [1][0] = "R&eacute;seau p&eacute;dagogique" ;
                  If (!IsSet ($_SERVER ["HTTPS"]) Or (IsSet ($_SERVER ["HTTPS"]) And ($_SERVER ["HTTPS"] != "on"))) { $hebergement [1][1] = "http" ; }
                  Else { $hebergement [1][1] = "https" ; }
		  $hebergement [1][2] = GetEnv ("SERVER_ADDR") ;
		  $racine = Str_Replace ("//", "/", Str_Replace ("/verif_install.php", "", $_SERVER ['PHP_SELF'])) ;
                  If (SubStr ($racine, 0, 1) == "/") { $racine = SubStr ($racine, 1, StrLen ($racine)-1) ; }
                  If (SubStr ($racine, StrLen ($racine), 1) == "/") { $racine = SubStr ($racine, 0, StrLen ($racine)-1) ; }
		  $hebergement [1][3] = $racine ;
                  $hebergement [1][4] = SubStr ($hebergement [1][2], 0, StrPos ($hebergement [1][2], ".")+1) ;
                  $hebergement [1][5] = 1 ;
                  
                  $hebergement [2][0] = "R&eacute;seau administratif" ;
                  $hebergement [2][1] = $hebergement [1][1] ;
                  $hebergement [2][2] = $hebergement [1][2] ;
                  $hebergement [2][3] = $hebergement [1][3] ;
                  $hebergement [2][4] = $hebergement [1][4] ;
                  $hebergement [2][5] = 0 ;
                  
                  $hebergement [3][0] = "Acc&egrave;s externe" ;
                  $hebergement [3][1] = $hebergement [1][1] ;
                  $hebergement [3][2] = $hebergement [1][2] ;
                  $hebergement [3][3] = $hebergement [1][3] ;
                  $hebergement [3][4] = $hebergement [1][4] ;
                  $hebergement [3][5] = 0 ;
                  
                  $hebergement [4][0] = "Autre acc&egrave;s" ;
                  $hebergement [4][1] = $hebergement [1][1] ;
                  $hebergement [4][2] = $hebergement [1][2] ;
                  $hebergement [4][3] = $hebergement [1][3] ;
                  $hebergement [4][4] = $hebergement [1][4] ;
                  $hebergement [4][5] = 0 ;
                 }
                // Gestion des onglets
                Echo "<script>" ;
                Include ("./include/onglets.js") ;
                Echo "onglet_style ('#000000','#000000','#000000','#000000','#000000','#000000','#000000','#000000','#000000','#000000','#000000','#000000','#80add6','".$couleur_ok."','".$theme [0][3]."','".$couleur_ok."');" ;
                Echo "var onglets = new definition_onglet (\"onglets\", '', '', 50, 25, 0, '".$theme [11][1]."');" ;
                Echo "onglets.ajouter (new item_onglet (\"Introduction\", \"Quelques renseignements...\"));" ;
                Echo "onglets.ajouter (new item_onglet (\"G&eacute;n&eacute;ral\", \"Quelques renseignements d'ordre g&eacute;n&eacute;ral.\"));" ;
                Echo "onglets.ajouter (new item_onglet (\"Codes de gestion\", \"Renseignements sur le fonctionnement.\"));" ;
                Echo "onglets.ajouter (new item_onglet (\"Authentification\", \"Type d'authentification des utilisateurs\"));" ;
                Echo "onglets.ajouter (new item_onglet (\"Base SQL\", \"Quelques renseignements sur la base SQL.\"));" ;
                Echo "onglets.ajouter (new item_onglet (\"H&eacute;bergement\", \"Renseignements sur le site de l'installation.\"));" ;
                Echo "</script>" ;
		// Formulaire
	        Echo "<FORM ACTION=\"./verif_install.php\" METHOD=\"POST\" name=\"param\">" ;
		Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"etape_verif\" VALUE=\"".($etape_verif+1)."\">" ;
		Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"ecriture\" VALUE=\"1\">" ;
		Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"onglet\" VALUE=\"0\">" ;
                
                Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\">" ;
		Echo "<tr bgcolor=\"".$theme [0][3]."\"><td align=\"right\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</td></tr>" ;
                If (File_Exists ("./include/garennes.cfg")) { Echo "<tr bgcolor=\"".$theme [0][3]."\"><td>&nbsp;<b><font color=\"#ff0000\">Lecture du fichier de configuration d'une ancienne installation...(/include/garennes.cfg)</font></b>&nbsp;</td></tr>" ; }
		Echo "</table>" ;
                
                Echo "<script> onglets.afficher_entete(); </script>" ;
                
                // Aide
                Echo "<DIV id=\"onglets0\" style=\"DISPLAY:none;top:0px;left:0px;width:100%;height:100%;\">" ;
	        Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\" width=\"100%\">" ;
                Echo "<tr><td bgcolor=\"".$theme [10][2]."\">&nbsp;<b>Dans&nbsp;cette&nbsp;&eacute;tape,&nbsp;vous&nbsp;avez&nbsp;cinq&nbsp;onglets&nbsp;de&nbsp;configuration&nbsp;&agrave;&nbsp;parcourir</b>&nbsp;:&nbsp;</TD></TR>" ;
                Echo "<tr><td>&nbsp;</td></tr>" ;
                Echo "<tr><td>&nbsp;-&nbsp;<b>G&eacute;n&eacute;ral&nbsp;</b>:&nbsp;D&eacute;finition&nbsp;des&nbsp;dur&eacute;es&nbsp;de&nbsp;connexion.&nbsp;</TD></TR>" ;
                Echo "<tr><td>&nbsp;</td></tr>" ;
                Echo "<tr><td>&nbsp;-&nbsp;<b>Codes&nbsp;de&nbsp;gestion&nbsp;</b>:&nbsp;Quelques&nbsp;codes&nbsp;utilis&eacute;s&nbsp;dans&nbsp;l'interface&nbsp;de&nbsp;notes.&nbsp;</TD></TR>" ;
                Echo "<tr><td>&nbsp;</td></tr>" ;
                Echo "<tr><td>&nbsp;-&nbsp;<b>Authentification&nbsp;</b>:&nbsp;D&eacute;finition&nbsp;du&nbsp;type&nbsp;d'authentification&nbsp;des&nbsp;utilisateurs.&nbsp;</TD></TR>" ;
                Echo "<tr><td>&nbsp;</td></tr>" ;
                Echo "<tr><td>&nbsp;-&nbsp;<b>Base&nbsp;SQL&nbsp;</b>:&nbsp;Param&eacute;trage&nbsp;de&nbsp;la&nbsp;base&nbsp;de&nbsp;donn&eacute;es.&nbsp;</TD></TR>" ;
                Echo "<tr><td>&nbsp;</td></tr>" ;
                Echo "<tr><td>&nbsp;-&nbsp;<b>H&eacute;bergement&nbsp;</b>:&nbsp;D&eacute;claration&nbsp;des&nbsp;sites&nbsp;h&eacute;bergeant&nbsp;Garennes.&nbsp;</TD></TR>" ;
                Echo "<tr><td>&nbsp;</td></tr>" ;
                Echo "<tr><td>&nbsp;</td></tr>" ;
		Echo "<tr><td bgcolor=\"".$theme [10][2]."\">&nbsp;<b>Pour&nbsp;passer&nbsp;&agrave;&nbsp;l'&eacute;tape&nbsp;suivante,&nbsp;vous&nbsp;devez&nbsp;les&nbsp;avoir&nbsp;vus&nbsp;une&nbsp;fois.</b>&nbsp;</TD></TR>" ;
		Echo "<tr><td>&nbsp;</td></tr>" ;
                Echo "</table></div>" ;
                
                // General :
                Echo "<DIV id=\"onglets1\" style=\"DISPLAY:none;top:0px;left:0px;width:100%;height:100%;\">" ;
	        Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\" width=\"100%\">" ;
                Echo "<TR><TD COLSPAN=\"3\" BGCOLOR=\"".$theme [10][2]."\">&nbsp;<B>Quelques renseignements d'ordre g&eacute;n&eacute;ral :</B>&nbsp;</TD></TR>" ;
                Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
                Echo "<tr bgcolor=\"".$theme [10][1]."\"><td align=\"right\">&nbsp;<b>Dur&eacute;e&nbsp;maximale</b>&nbsp;</td><td>&nbsp;<b>d'une&nbsp;session</b>&nbsp;</td><td>&nbsp;<b>Inactivit&eacute;</b>&nbsp;</td></TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Administrateur</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"troptard_admin\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$troptard [$droit_admin]."\"> secondes&nbsp;et&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"inactivite_admin\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$inactivite [$droit_admin]."\"> secondes&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR bgcolor=\"".$theme [10][2]."\">" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Direction</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"troptard_direction\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$troptard [$droit_direction]."\"> secondes&nbsp;et&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"inactivite_direction\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$inactivite [$droit_direction]."\"> secondes&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Secr&eacute;tariat</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"troptard_secretariat\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$troptard [$droit_secretariat]."\"> secondes&nbsp;et&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"inactivite_secretariat\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$inactivite [$droit_secretariat]."\"> secondes&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR bgcolor=\"".$theme [10][2]."\">" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>CPE</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"troptard_cpe\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$troptard [$droit_cpe]."\"> secondes&nbsp;et&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"inactivite_cpe\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$inactivite [$droit_cpe]."\"> secondes&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Surveillant</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"troptard_surveillant\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$troptard [$droit_surveillant]."\"> secondes&nbsp;et&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"inactivite_surveillant\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$inactivite [$droit_surveillant]."\"> secondes&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR bgcolor=\"".$theme [10][2]."\">" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Enseignant</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"troptard_prof\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$troptard [$droit_prof]."\"> secondes&nbsp;et&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"inactivite_prof\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$inactivite [$droit_prof]."\"> secondes&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>&Eacute;l&egrave;ve</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"troptard_eleve\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$troptard [$droit_eleve]."\"> secondes&nbsp;et&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"inactivite_eleve\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$inactivite [$droit_eleve]."\"> secondes&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Nombre de messages avant d&eacute;connexion automatique</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"nombre_messages\" SIZE=\"3\" MAXLENGTH=\"2\" VALUE=\"".$nombre_messages."\">&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Dur&eacute;e entre deux messages d'avertissement</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"duree_entre_message\" SIZE=\"7\" MAXLENGTH=\"10\" VALUE=\"".$duree_entre_message."\"> secondes&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<tr><td colspan=\"2\">&nbsp;</td></tr>" ;
                Echo "</table></div>" ;
                
                // Codes de gestion
                Echo "<DIV id=\"onglets2\" style=\"DISPLAY:none;top:0px;left:0px;width:100%;height:100%;\">" ;
	        Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\" width=\"100%\">" ;
                Echo "<TR><TD COLSPAN=\"2\" BGCOLOR=\"".$theme [10][2]."\">&nbsp;<B>Renseignements sur le fonctionnement :</B>&nbsp;</TD></TR>" ;
                Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;<B><I><FONT COLOR=\"#FF0000\">L'ensemble&nbsp;des&nbsp;codes&nbsp;n'est&nbsp;pas&nbsp;sensible&nbsp;&agrave;&nbsp;la&nbsp;casse</FONT></I></B>&nbsp;.</TD></TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Code pour une note ABSENT</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"code_absent\" VALUE=\"".$code_absent."\" SIZE=\"5\" MAXLENGTH=\"4\">&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Code pour une note DISPENSE</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"code_dispense\" VALUE=\"".$code_dispense."\" SIZE=\"5\" MAXLENGTH=\"4\">&nbsp;</TD>" ;
                Echo "</TR>" ;
		Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Code pour un devoir NON RENDU</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"code_non_rendu\" VALUE=\"".$code_non_rendu."\" SIZE=\"5\" MAXLENGTH=\"4\">&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Code pour aucune note</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"code_aucune_note\" VALUE=\"".$code_aucune_note."\" SIZE=\"5\" MAXLENGTH=\"4\">&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Code pour aucune discipline</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"code_pas_discipline\" VALUE=\"".$code_pas_discipline."\" SIZE=\"5\" MAXLENGTH=\"4\">&nbsp;</TD>" ;
                Echo "</TR>" ;
		Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Notes sur</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"note_par_defaut\" VALUE=\"".$note_par_defaut."\" SIZE=\"5\" MAXLENGTH=\"4\">&nbsp;points&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<tr><td colspan=\"2\">&nbsp;</td></tr>" ;
                Echo "</table></div>" ;
                
                // Authentification
                Echo "<DIV id=\"onglets3\" style=\"DISPLAY:none;top:0px;left:0px;width:100%;height:100%;\">" ;
	        Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\" width=\"100%\">" ;
		Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
                Echo "<TR><TD ALIGN=RIGHT>&nbsp;<B>Type d'authentification des utilisateurs</B> :&nbsp;</TD>" ;
		Echo "<TD><SELECT NAME=\"auth_mode\"><OPTION VALUE=\"1\">En interne (Garennes)</SELECT>&nbsp;</TD>" ;
		Echo "</TR>" ;
                Echo "<tr><td colspan=\"2\">&nbsp;</td></tr>" ;
                Echo "</table></div>" ;
                
                // Base SQL
                Echo "<DIV id=\"onglets4\" style=\"DISPLAY:none;top:0px;left:0px;width:100%;height:100%;\">" ;
	        Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\" width=\"100%\">" ;
                Echo "<TR><TD COLSPAN=\"2\" BGCOLOR=\"".$theme [10][2]."\">&nbsp;<B>Quelques renseignements sur la base SQL :</B>&nbsp;</TD></TR>" ;
                Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Nom DNS ou adresse IP du serveur SQL primaire (obligatoire)</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"sql_adresse\" SIZE=\"40\" MAXLENGTH=\"200\" VALUE=\"".$sql_adresse."\">&nbsp;</TD>" ;
                Echo "</TR>" ;
		Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Nom DNS ou adresse IP du serveur SQL secondaire (r&eacute;plica optionnel)</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"sql_secondaire\" SIZE=\"40\" MAXLENGTH=\"200\" VALUE=\"".$sql_secondaire."\">&nbsp;</TD>" ;
                Echo "</TR>" ;
		Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Nom DNS ou adresse IP du serveur SQL tertiaire (r&eacute;plica optionnel)</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"sql_tertiaire\" SIZE=\"40\" MAXLENGTH=\"200\" VALUE=\"".$sql_tertiaire."\">&nbsp;</TD>" ;
                Echo "</TR>" ;
		Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Num&eacute;ro de port du serveur SQL</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"sql_port\" SIZE=\"10\" MAXLENGTH=\"6\" VALUE=\"".$sql_port."\">&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Nom de l'administrateur de la base SQL</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"sql_qui\" SIZE=\"10\" MAXLENGTH=\"200\" VALUE=\"".$sql_qui."\">&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;<FONT COLOR=\"#FF0000\"><B>ATTENTION : <B><I>L'administrateur de la base de donn&eacute;es doit avoir les droits minimum suivants :<BR>&nbsp;SELECT,INSERT,UPDATE,DELETE,FILE,CREATE,ALTER,INDEX,DROP<BR>&nbsp;sur la base de donn&eacute;e.</I></FONT></TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Mot de passe de l'administrateur de la base SQL</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"sql_passe\" SIZE=\"10\" MAXLENGTH=\"200\" VALUE=\"".$sql_passe."\">&nbsp;(<B>ATTENTION</B> : Mot de passe lisible)&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR>" ;
                Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Nom de la base de donn&eacute;es</B> :&nbsp;</TD>" ;
                Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"sql_base\" VALUE=\"".$sql_base."\" SIZE=\"20\" MAXLENGTH=\"200\">&nbsp;</TD>" ;
                Echo "</TR>" ;
                Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;<B>ATTENTION :<I> Si la base de donn&eacute;es existe, elle sera <BLINK>d&eacute;truite</BLINK> sauf s'il s'agit d'une mise &agrave; jour</i></b>.&nbsp;</TD></TR>" ;
                Echo "<tr><td colspan=\"2\">&nbsp;</td></tr>" ;
                Echo "</table></div>" ;
                
                // Hebergement
                Echo "<DIV id=\"onglets5\" style=\"DISPLAY:none;top:0px;left:0px;width:100%;height:100%;\">" ;
	        Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\" width=\"100%\">" ;
                Echo "<TR><TD COLSPAN=\"2\" BGCOLOR=\"".$theme [10][2]."\">&nbsp;<B>Renseignements sur le site d'h&eacute;bergement :</B>&nbsp;</TD></TR>" ;
                Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
                If ($hebergement [0][0] < 3) { $hebergement [0][0] = 3 ; }
                Echo "<INPUT TYPE=\"hidden\" NAME=\"nombre_sites\" VALUE=\"".$hebergement [0][0]."\">&nbsp;</TD>" ;
                For ($i = 1 ; $i <= $hebergement [0][0] ; $i++)
                 {
                  Echo "<TR>" ;
                  Echo "<TD align=\"right\">&nbsp;<B>Adresse active</B> :&nbsp;</TD>" ;
                  Echo "<TD>&nbsp;<INPUT TYPE=\"checkbox\" NAME=\"active".$i."\" VALUE=\"1\"" ; If ($hebergement [$i][5] == 1) { Echo " checked" ; }
                  Echo ">&nbsp;</TD>" ;
                  Echo "</TR>" ;
                  Echo "<TR>" ;
                  Echo "<TD align=\"right\">&nbsp;<B>Adresse par d&eacute;faut</B> :&nbsp;</TD>" ;
                  Echo "<TD>&nbsp;<INPUT TYPE=\"radio\" NAME=\"adresse_defaut\" VALUE=\"".$i."\"" ; If ($hebergement [0][1] == $i) { Echo " checked" ; }
                  Echo ">&nbsp;</TD>" ;
                  Echo "</TR>" ;
                  Echo "<TR>" ;
                  Echo "<TD align=\"right\">&nbsp;<B>Nom du site</B> :&nbsp;</TD>" ;
                  Echo "<TD>&nbsp;<INPUT TYPE=\"TEXT\" NAME=\"nom_site".$i."\" SIZE=\"40\" MAXLENGTH=\"200\" VALUE=\"".$hebergement [$i][0]."\">&nbsp;</TD>" ;
                  Echo "</TR>" ;
                  Echo "<TR>" ;
                  Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Adresse</B> :&nbsp;</TD>" ;
                  Echo "<TD><select name=\"protocole".$i."\"><option value=\"http\"" ; If ($hebergement [$i][1] == "http") { Echo " selected" ; }
		  Echo ">http</option><option value=\"https\"" ; If ($hebergement [$i][1] == "https") { Echo " selected" ; }
		  Echo ">https</option></select>" ;
		  Echo "<b>://</b><INPUT TYPE=\"TEXT\" NAME=\"adresse".$i."\" SIZE=\"16\" VALUE=\"".$hebergement [$i][2]."\"><b>/</b>" ;
		  Echo "<INPUT TYPE=\"TEXT\" NAME=\"repertoire".$i."\" SIZE=\"40\" VALUE=\"".$hebergement [$i][3]."\"><b>/</b>&nbsp;</TD>" ;
                  Echo "</TR>" ;
                  Echo "<TR>" ;
                  Echo "<TD align=\"right\">&nbsp;<B>Exemple</B> :&nbsp;</TD>" ;
                  Echo "<TD>&nbsp;<b><i><font color=\"#ff0000\">http</font></i></b>://<b><i><font color=\"#ff0000\">www.lyc-branly.ac-poitiers.fr</font></i></b>/<b><i><font color=\"#ff0000\">garennes</font></i></b>/&nbsp;</TD>" ;
                  Echo "</TR>" ;
                  Echo "<TR>" ;
                  Echo "<TD align=\"right\">&nbsp;<B>Adresse r&eacute;seau</B> :&nbsp;</TD>" ;
                  Echo "<TD>&nbsp;<INPUT TYPE=\"TEXT\" NAME=\"adresse_reseau".$i."\" SIZE=\"16\" MAXLENGTH=\"15\" VALUE=\"".$hebergement [$i][4]."\">&nbsp;</TD>" ;
                  Echo "</TR>" ;
                  If ($i < $hebergement [0][0]) { Echo "<tr><td colspan=\"2\"><hr></td></tr>" ; } Else { Echo "<tr><td colspan=\"2\">&nbsp;</td></tr>" ; }
                 }
                Echo "</table></div>" ;
                
                Echo "<SCRIPT> onglets.afficher_pied(); </SCRIPT>" ;
                
                Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\" width=\"100%\">" ;
		Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD ALIGN=\"RIGHT\" COLSPAN=\"2\">&nbsp;" ;
		Echo "<INPUT TYPE=\"SUBMIT\" id=\"submit\" NAME=\"submit\" TITLE=\"Passer &agrave; l'&eacute;tape 3\" STYLE=\"border:1px solid #000000;visibility:hidden\" VALUE=\" &Eacute;TAPE SUIVANTE -> \">" ;
                Echo "<script>comptage=1;activation='submit'</script>" ;
                Echo "</td></TR></TABLE>" ;
                
		Echo "</FORM>" ;
	       }
	      Else
	       {
	        // Pb d'ecriture dans le repertoire
		Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
		Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                Echo "<TR><TD>&nbsp;</TD></TR>" ;
		Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Pour continuer l'installation, vous devez r&eacute;gler les probl&egrave;mes suivants :&nbsp;</TD></TR>" ;
		Echo "<TR><TD>&nbsp;</TD></TR>" ;
		$pb = 0 ;
		If (!test_ecriture_rep ("./include"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B><I>/include/</I></B>&nbsp;qui n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
                 }
		If (File_Exists ("./include/garennes.cfg"))
		 {
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Il existe un fichier <B><I>garennes.cfg</I></B> dans le r&eacute;pertoire <I>/include/</I>.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Ce fichier contient les informations de connexions &agrave; la base de donn&eacute;es.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Sauvegardez-le, car il va &ecirc;tre &eacute;cras&eacute; par la nouvelle installation.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  $pb++ ;
		  If (!test_ecriture_fichier ("./include", "garennes.cfg"))
		   {
		    Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;ATTENTION : De plus, ce fichier n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		    Echo "<TR><TD>&nbsp;</TD></TR>" ;
		    $pb++ ;
		   }
		 }
                Echo "<TR><TD>&nbsp;</TD></TR>" ;
                Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;R&eacute;gler le" ; If ($pb > 1) { Echo "s" ; }
		Echo " probl&egrave;me" ; If ($pb > 1) { Echo "s" ; }
		Echo ", puis cliquer sur SUIVANT.</TD></TR>" ;
		Echo "<TR><TD>&nbsp;</TD></TR>" ;
		Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&bdd_sql=".$base_choisie."'\" TITLE=\"Refaire l'&eacute;tape ".$etape_verif."/".$nombre_etapes."\" STYLE=\"border:1px solid #000000\" VALUE=\" SUIVANT -> \"></TD></FORM>" ;
		Echo "</TR></TABLE>" ;
	       }
              Break ;
     Case 4 : $ecriture = var_courante ("ecriture", 0, null) ;
              If (IsSet ($ecriture))
               {
	        If ($ecriture == 1)
		 {
                  $sql_adresse = var_courante ("sql_adresse", 0, "localhost") ;
                  $sql_secondaire = var_courante ("sql_secondaire", 0, "localhost") ;
                  $sql_tertiaire = var_courante ("sql_tertiaire", 0, "localhost") ;
                  $sql_qui = var_courante ("sql_qui", 0, "") ;
                  $sql_passe = var_courante ("sql_passe", 0, "") ;
                  $sql_base = var_courante ("sql_base", 0, "garennes") ;
                  $sql_port = var_courante ("sql_port", 0, "") ;
		  
		  $multi_etablissement = var_courante ("multi_etablissement", 0, 0) ;
		  
		  If ($multi_etablissement == 1)
		   {
		    $sql_adresse_supervision = var_courante ("sql_adresse_supervision", 0, $sql_adresse) ;
                    $sql_secondaire_supervision = var_courante ("sql_secondaire_supervision", 0, $sql_secondaire) ;
                    $sql_tertiaire_supervision = var_courante ("sql_tertiaire_supervision", 0, $sql_tertiaire) ;
                    $sql_qui_supervision = var_courante ("sql_qui_supervision", 0, $sql_qui) ;
                    $sql_passe_supervision = var_courante ("sql_passe_supervision", 0, $sql_passe) ;
                    $sql_base_supervision = var_courante ("sql_base_supervision", 0, $sql_base) ;
                    $sql_entete_supervision = var_courante ("sql_entete_supervision", 0, "") ;
                    $sql_port_supervision = var_courante ("sql_port_supervision", 0, $sql_port) ;
		   }
		  Else
		   {
		    $sql_adresse_supervision = $sql_adresse ;
                    $sql_secondaire_supervision = $sql_secondaire ;
                    $sql_tertiaire_supervision = $sql_tertiaire ;
                    $sql_qui_supervision = $sql_qui ;
                    $sql_passe_supervision = $sql_passe ;
                    $sql_base_supervision = $sql_base ;
                    $sql_entete_supervision = "" ;
                    $sql_port_supervision = $sql_port ;
		   }
                  $auth_mode = var_courante ("auth_mode", 0, 1) ;
		  $code_absent = var_courante ("code_absent", 0, "A") ;
		  $code_dispense = var_courante ("code_dispense", 0, "D") ;
		  $code_non_rendu = var_courante ("code_non_rendu", 0, "N") ;
		  $code_aucune_note = var_courante ("code_aucune_note", 0, "?") ;
		  $code_pas_discipline = var_courante ("code_pas_discipline", 0, "??") ;
		  $note_par_defaut = var_courante ("note_par_defaut", 0, 20) ;
		  $troptard [$droit_admin] = var_courante ("troptard_admin", 0, 3600) ;
                  $troptard [$droit_direction] = var_courante ("troptard_direction", 0, 3600) ;
                  $troptard [$droit_secretariat] = var_courante ("troptard_secretariat", 0, 3600) ;
                  $troptard [$droit_cpe] = var_courante ("troptard_cpe", 0, 3600) ;
                  $troptard [$droit_surveillant] = var_courante ("troptard_surveillant", 0, 900) ;
                  $troptard [$droit_prof] = var_courante ("troptard_prof", 0, 1800) ;
                  $troptard [$droit_trombinoscope] = var_courante ("troptard_prof", 0, 900) ;
                  $troptard [$droit_eleve] = var_courante ("troptard_eleve", 0, 600) ;
                  $inactivite_droit_admin = var_courante ("inactivite_admin", 0, 3600) ;
                  $inactivite_droit_direction = var_courante ("inactivite_direction", 0, 3600) ;
                  $inactivite_droit_secretariat = var_courante ("inactivite_secretariat", 0, 3600) ;
                  $inactivite_droit_cpe = var_courante ("inactivite_cpe", 0, 3600) ;
                  $inactivite_droit_surveillant = var_courante ("inactivite_surveillant", 0, 600) ;
                  $inactivite_droit_prof = var_courante ("inactivite_prof", 0, 600) ;
                  $inactivite_droit_trombinoscope = var_courante ("inactivite_prof", 0, 600) ;
                  $inactivite_droit_eleve = var_courante ("inactivite_eleve", 0, 120) ;
		  $duree_entre_message = var_courante ("duree_entre_message", 0, 30) ;
                  $nombre_message = var_courante ("nombre_messages", 0, 3) ;
                  $hebergement [0][0] = var_courante ("nombre_sites", 0, 1) ;
		  $hebergement [0][1] = var_courante ("adresse_defaut", 0, 1) ;
                  
                  $nom_defaut = "R&eacute;seau p&eacute;dagogique" ;
                  If (!IsSet ($_SERVER ["HTTPS"]) Or (IsSet ($_SERVER ["HTTPS"]) And ($_SERVER ["HTTPS"] != "on"))) { $proto_defaut = "http" ; } Else { $proto_defaut = "https" ; }
		  $adresse_defaut = GetEnv ("SERVER_ADDR") ;
		  $racine_defaut = Str_Replace ("//", "/", Str_Replace ("/verif_install.php", "", $_SERVER ['PHP_SELF'])) ;
                  If (SubStr ($racine_defaut, 0, 1) == "/") { $racine_defaut = SubStr ($racine_defaut, 1, StrLen ($racine_defaut)-1) ; }
                  If (SubStr ($racine_defaut, StrLen ($racine_defaut), 1) == "/") { $racine_defaut = SubStr ($racine_defaut, 0, StrLen ($racine_defaut)-1) ; }
                  $reseau_defaut = SubStr ($adresse_defaut, 0, StrPos ($adresse_defaut, ".")+1) ;
                  For ($i = 1 ; $i <= $hebergement [0][0] ; $i++)
                   {
                    $racine = var_courante ("repertoire".$i, 0, $racine_defaut) ;
                    $nom_site = var_courante ("nom_site".$i, 0, $nom_defaut) ;
                    $protocole = var_courante ("protocole".$i, 0, $proto_defaut) ;
                    $adresse = var_courante ("adresse".$i, 0, $adresse_defaut) ;
                    $adresse_reseau = var_courante ("adresse_reseau".$i, 0, $reseau_defaut) ;
                    If ($i > 1) { $active_defaut = 0 ; } Else { $active_defaut = 1 ; }
                    $active = var_courante ("active".$i, 0, $active_defaut) ;
                    If (SubStr ($racine, 0, 1) == "/") { $racine = SubStr ($racine, 1, StrLen ($racine)-1) ; }
                    If (SubStr ($racine, StrLen ($racine), 1) == "/") { $racine = SubStr ($racine, 0, StrLen ($racine)-1) ; }
		    $hebergement [$i][0] = Str_Replace ("\"", "\\\"", $nom_site) ;
		    $hebergement [$i][1] = $protocole ;
		    $hebergement [$i][2] = $adresse ;
		    $hebergement [$i][3] = Str_Replace ("//", "/", $racine) ;
		    $hebergement [$i][4] = $adresse_reseau ;
                    $hebergement [$i][5] = $active ;
                   }
                  $nom_frame = var_courante ("nom_frame", 0, "") ;
		  
                  $rep_exec = GetCwd () ;
                  If (StrToUpper (SubStr (PHP_OS, 0, 3) == "WIN")) { $rep_exec = Str_Replace ("\\","\\\\", $rep_exec) ; $rep_exec .= "\\\\" ; }
                  Else { $rep_exec .= "/" ; }
		  $i = FOpen ("./include/licence_entete.txt", "r") ;
                  $licence_entete = FRead ($i, FileSize ("./include/licence_entete.txt")) ;
                  FClose ($i) ;
                  $i = FOpen ("./licence.txt", "r") ;
                  $licence = FRead ($i, FileSize ("./licence.txt")) ;
                  FClose ($i) ;
		  $fichier  = @FOpen ("./include/garennes.cfg", "w") ;
		  FPuts ($fichier, "<?php\n/*\n") ;
		  FPuts ($fichier, $licence_entete) ;
		  FPuts ($fichier, $licence) ;
		  FPuts ($fichier, "*/\n") ;
		  FPuts ($fichier, "\n // Connexion SQL\n") ;
		  FPuts ($fichier, " \$sql_adresse = \"".$sql_adresse."\" ; // Nom DNS ou adresse IP du serveur SQL\n") ;
		  FPuts ($fichier, " \$sql_secondaire = \"".$sql_secondaire."\" ; // Adresse serveur SQL replica 1 (optionnel)\n") ;
		  FPuts ($fichier, " \$sql_tertiaire = \"".$sql_tertiaire."\" ; // Adresse serveur SQL replica 2 (optionnel)\n") ;
		  FPuts ($fichier, " \$sql_qui = \"".$sql_qui."\" ; // Nom de l'identifiant de connexion a la base de donnees SQL\n") ;
		  FPuts ($fichier, " \$sql_passe= \"".$sql_passe."\" ; // Mot de passe pour l'identifiant ci-dessus a la base de donnees SQL\n") ;
		  FPuts ($fichier, " \$sql_base = \"".$sql_base."\" ; // Nom de la base de donnees SQL\n") ;
		  FPuts ($fichier, " \$sql_port = ".$sql_port." ; // Numero de port SQL (3306=MySQL;5432=PostgreSQL;Rien=Port par defaut)\n") ;
                  // Recopiage $bdd si existe
		  If (!IsSet ($multi_etablissement)) { $multi_etablissement = 0 ; }
                  FPuts ($fichier, "\n // Definition des differentes bases de donnees Garennes pouvant etre geree en plus\n") ;
		  FPuts ($fichier, " \$multi_etablissement = ".$multi_etablissement." ; // 1:Gestion de plusieurs etablissements, 0:Une seul etablissement\n") ;
		  FPuts ($fichier, " \$multi_bases = 1 ; // 1:Plusieurs bases de donnees differentes, 0:Une seule base de donnees\n") ;
		  /*
                  If (IsSet ($bdd) And (Is_Array ($bdd)) And ($bdd [0][0] > 0))
                   {
                    FPuts ($fichier, " \$bdd [0][0] = ".$bdd [0][0]." ; // Nombre de bases de donnees a gerer\n") ;
                    For ($i = 1 ; $i <= $bdd [0][0] ; $i++)
                     {
                      FPuts ($fichier, " \$bdd [".$i."][0] = \"".$bdd [$i][0]."\" ; // Nom de la base ".$i." en clair\n") ;
                      FPuts ($fichier, " \$bdd [".$i."][1] = \"".$bdd [$i][1]."\" ; // Nom de la base ".$i." SQL\n") ;
                     }
                   }
                  Else
                   {
                    FPuts ($fichier, " \$bdd [0][0] = 0 ; // Nombre de bases de donnees a gerer\n") ;
                    FPuts ($fichier, " \$bdd [1][0] = \"Nom qui apparait dans le bandeau d'authentification\" ; // Nom de la base 1 en clair\n") ;
                    FPuts ($fichier, " \$bdd [1][1] = \"nom_de_la_base_donnees_reelle_sql\" ; // Nom de la base 1 SQL\n") ;
                   }
		  */
		  FPuts ($fichier, " // Configuration supervision\n") ;
                  FPuts ($fichier, " If (\$multi_etablissement == 1)\n") ;
                  FPuts ($fichier, "  {\n") ;
                  FPuts ($fichier, "   // Connexion SQL\n") ;
                  FPuts ($fichier, "   \$sql_adresse_supervision = \"".$sql_adresse_supervision."\" ; // Nom DNS ou adresse IP du serveur SQL\n") ;
                  FPuts ($fichier, "   \$sql_secondaire_supervision = \"".$sql_secondaire_supervision."\" ; // Adresse serveur SQL replica 1 (optionnel)\n") ;
                  FPuts ($fichier, "   \$sql_tertiaire_supervision = \"".$sql_tertiaire_supervision."\" ; // Adresse serveur SQL replica 2 (optionnel)\n") ;
                  FPuts ($fichier, "   \$sql_qui_supervision = \"".$sql_qui_supervision."\" ; // Nom de l'identifiant de connexion a la base de donnees SQL\n") ;
                  FPuts ($fichier, "   \$sql_passe_supervision = \"".$sql_passe_supervision."\" ; // Mot de passe pour l'identifiant ci-dessus a la base de donnees SQL\n") ;
                  FPuts ($fichier, "   \$sql_base_supervision = \"".$sql_base_supervision."\" ; // Nom de la base de donnees SQL\n") ;
                  FPuts ($fichier, "   \$sql_entete_supervision = \"".$sql_entete_supervision."\" ; // Entete de la base de donnees si mono-base\n") ;
                  FPuts ($fichier, "   \$sql_port_supervision = ".$sql_port_supervision." ; // Numero de port SQL (3306=MySQL;5432=PostgreSQL;Rien=Port par defaut)\n") ;
                  FPuts ($fichier, "  }\n") ;
		  FPuts ($fichier, "\n // Type d'authentification\n") ;
		  FPuts ($fichier, " \$auth_mode = \"".$auth_mode."\" ; // Type d'authentification (0=Interne partielle/1=Interne/2=MySQL/3=LDAP)\n") ;
		  FPuts ($fichier, " \$type_bdd = \"MySQL\" ; // Type de base de donnee utilise\n") ;
		  FPuts ($fichier, "\n // Le codage\n") ;
		  FPuts ($fichier, " \$code_absent = \"".$code_absent."\" ; // Code d'une note pour un eleve ABSENT\n") ;
		  FPuts ($fichier, " \$code_dispense = \"".$code_dispense."\" ; // Code d'une note pour un eleve DISPENSE\n") ;
		  FPuts ($fichier, " \$code_non_rendu = \"".$code_non_rendu."\" ; // Code d'une note pour un devoir NON RENDU\n") ;
		  FPuts ($fichier, " \$code_aucune_note = \"".$code_aucune_note."\" ; // Code interne lorsqu'il n'y a aucune note attribue a un eleve\n") ;
		  FPuts ($fichier, " \$code_pas_discipline = \"".$code_pas_discipline."\" ; // Code interne lorsqu'un eleve n'a pas la discipline demande\n") ;
		  FPuts ($fichier, " \$note_par_defaut = ".$note_par_defaut." ; // Notation sur...\n") ;
		  FPuts ($fichier, "\n // Deconnexion automatique apres ... secondes :\n") ;
                  FPuts ($fichier, " // Durees maximales d'une session\n") ;
		  FPuts ($fichier, " \$troptard [".$droit_admin."] = ".$troptard [$droit_admin]." ; // Duree d'une session administrateur\n") ;
                  FPuts ($fichier, " \$troptard [".$droit_direction."] = ".$troptard [$droit_direction]." ; // Duree d'une session direction\n") ;
                  FPuts ($fichier, " \$troptard [".$droit_secretariat."] = ".$troptard [$droit_secretariat]." ; // Duree d'une session secretariat\n") ;
                  FPuts ($fichier, " \$troptard [".$droit_cpe."] = ".$troptard [$droit_cpe]." ; // Duree d'une session cpe\n") ;
                  FPuts ($fichier, " \$troptard [".$droit_surveillant."] = ".$troptard [$droit_surveillant]." ; // Duree d'une session surveillant\n") ;
                  FPuts ($fichier, " \$troptard [".$droit_prof."] = ".$troptard [$droit_prof]." ; // Duree d'une session enseignante\n") ;
                  FPuts ($fichier, " \$troptard [".$droit_trombinoscope."] = ".$troptard [$droit_prof]." ; // Duree d'une session trombinoscope\n") ;
                  FPuts ($fichier, " \$troptard [".$droit_eleve."] = ".$troptard [$droit_eleve]." ; // Duree d'une session eleve\n") ;
                  
                  FPuts ($fichier, " // Durees maximales d'une inactivite (si aucun transfert client/serveur n'intervient)\n") ;
                  If (IsSet ($inactivite)) { UnSet ($inactivite) ; }
                  FPuts ($fichier, " \$inactivite [".$droit_admin."] = ".$inactivite_droit_admin." ; // Duree d'inactivite administrateur\n") ;
                  FPuts ($fichier, " \$inactivite [".$droit_direction."] = ".$inactivite_droit_direction." ; // Duree d'inactivite direction\n") ;
                  FPuts ($fichier, " \$inactivite [".$droit_secretariat."] = ".$inactivite_droit_secretariat." ; // Duree d'inactivite secretariat\n") ;
                  FPuts ($fichier, " \$inactivite [".$droit_cpe."] = ".$inactivite_droit_cpe." ; // Duree d'inactivite cpe\n") ;
                  FPuts ($fichier, " \$inactivite [".$droit_surveillant."] = ".$inactivite_droit_surveillant." ; // Duree d'inactivite surveillant\n") ;
                  FPuts ($fichier, " \$inactivite [".$droit_prof."] = ".$inactivite_droit_prof." ; // Duree d'inactivite prof\n") ;
                  FPuts ($fichier, " \$inactivite [".$droit_trombinoscope."] = ".$inactivite_droit_prof." ; // Duree d'inactivite trombinoscope\n") ;
                  FPuts ($fichier, " \$inactivite [".$droit_eleve."] = ".$inactivite_droit_eleve." ; // Duree d'inactivite eleve\n") ;
		  
                  FPuts ($fichier, " \$duree_deux_message = ".$duree_entre_message." ; // Duree entre deux messages\n") ;
                  FPuts ($fichier, " \$nombre_message = ".$nombre_messages." ; // Nombre de messages avant deconnexion automatique\n") ;
		  FPuts ($fichier, "\n // Chemin d'acces aux pages de gestion\n") ;
		  FPuts ($fichier, " \$repertoire_racine = \"".$rep_exec."\" ; // Chemin d'acces absolu au repertoire de Garennes\n") ;
		  FPuts ($fichier, "\n /*\n") ;
		  FPuts ($fichier, " *                               Reseau administratif\n") ;
		  FPuts ($fichier, " *                                        |\n") ;
		  FPuts ($fichier, " *                                        |\n") ;
		  FPuts ($fichier, " *  /------------------\\             /---------\\\n") ;
		  FPuts ($fichier, " *  | Serveur Garennes |---- DMZ ----| Parefeu |---- Reseau pedagogique\n") ;
		  FPuts ($fichier, " *  \\------------------/             \\---------/\n") ;
		  FPuts ($fichier, " *                                        |\n") ;
		  FPuts ($fichier, " *                                        |\n") ;
		  FPuts ($fichier, " *                                     Exterieur\n") ;
		  FPuts ($fichier, " **/\n") ;
		  FPuts ($fichier, " // Parametres de connexions via le HTTP ou le HTTPs\n") ;
                  FPuts ($fichier, " \$hebergement [0][0] = ".$hebergement [0][0]." ; // Nombre d'adresses possibles\n") ;
		  FPuts ($fichier, " \$hebergement [0][1] = ".$hebergement [0][1]." ; // Adresse par defaut\n") ;
                  For ($i = 1 ; $i <= $hebergement [0][0] ; $i++)
                   {
                    $racine = $_POST ["repertoire".$i] ;
                    If (SubStr ($racine, 0, 1) == "/") { $racine = SubStr ($racine, 1, StrLen ($racine)-1) ; }
                    If (SubStr ($racine, StrLen ($racine), 1) == "/") { $racine = SubStr ($racine, 0, StrLen ($racine)-1) ; }
		    FPuts ($fichier, " // Numero ".$i."\n") ;
		    FPuts ($fichier, " \$hebergement [".$i."][0] = \"".$hebergement [$i][0]."\" ; // Nom su site\n") ;
		    FPuts ($fichier, " \$hebergement [".$i."][1] = \"".$hebergement [$i][1]."\" ; // Type d'acces : http ou https (preferer https)\n") ;
		    FPuts ($fichier, " \$hebergement [".$i."][2] = \"".$hebergement [$i][2]."\" ; // Adresse IP ou non DNS de l'hebergeur\n") ;
		    FPuts ($fichier, " \$hebergement [".$i."][3] = \"".$hebergement [$i][3]."\" ; // Repertoire d'accueil\n") ;
		    FPuts ($fichier, " \$hebergement [".$i."][4] = \"".$hebergement [$i][4]."\" ; // Adresse du reseau\n") ;
                    FPuts ($fichier, " \$hebergement [".$i."][5] = ".$hebergement [$i][5]." ; // Adresse active (1) ou pas (0)\n") ;
                   }
		  FPuts ($fichier, " // Recuperation de l'adresse\n") ;
		  FPuts ($fichier, " \$ip_client = \$_SERVER [\"REMOTE_ADDR\"] ; If (\$ip_client == \"\") { \$ip_client = GetEnv (\"REMOTE_ADDR\") ; }\n") ;
		  FPuts ($fichier, " // Test pour recuperer le profil correspondant\n") ;
		  FPuts ($fichier, " \$possible [0] = 0 ; // Numero\n") ;
		  FPuts ($fichier, " \$possible [1] = 0 ; // Longueur\n") ;
                  FPuts ($fichier, " If (\$hebergement [0][0] > 1)\n") ;
                  FPuts ($fichier, "  {\n") ;
                  FPuts ($fichier, "   For (\$i = 1 ; \$i <= \$hebergement [0][0] ; \$i++)\n") ;
                  FPuts ($fichier, "    {\n") ;
                  FPuts ($fichier, "     If ((\$hebergement [\$i][2] != \"\") And (\$hebergement [\$i][5] == 1))\n") ;
                  FPuts ($fichier, "      {\n") ;
                  FPuts ($fichier, "       If (SubStr (\$ip_client, 0, StrLen (\$hebergement [\$i][4])) == \$hebergement [\$i][4])\n") ;
                  FPuts ($fichier, "        {\n") ;
                  FPuts ($fichier, "         If ((\$possible [0] == 0) Or (StrLen (\$hebergement [\$i][4]) > \$possible [1]))\n") ;
                  FPuts ($fichier, "          {\n") ;
                  FPuts ($fichier, "           \$possible [0] = \$i ;\n") ;
                  FPuts ($fichier, "           \$possible [1] = StrLen (\$hebergement [\$i][4]) ;\n") ;
                  FPuts ($fichier, "          }\n") ;
                  FPuts ($fichier, "        }\n") ;
                  FPuts ($fichier, "      }\n") ;
                  FPuts ($fichier, "    }\n") ;
                  FPuts ($fichier, "  }\n") ;
		  FPuts ($fichier, " Else { \$possible [0] = \$hebergement [0][1] ; }\n") ;
		  FPuts ($fichier, " // Construction de l'adresse\n") ;
		  FPuts ($fichier, " If (\$possible [0] == 0) { \$possible [0] = \$hebergement [0][1] ; }\n // Chemin d'acces via navigateur WEB a Garennes\n") ;
		  FPuts ($fichier, " \$http_garennes = \$hebergement [\$possible [0]][1].\"://\".\$hebergement [\$possible [0]][2] ;\n") ;
		  FPuts ($fichier, " If (\$hebergement [\$possible [0]][2] != \"\") { \$http_garennes .= \"/\" ; }\n") ;
		  FPuts ($fichier, " \$http_garennes .= \$hebergement [\$possible [0]][3] ;\n") ;
		  FPuts ($fichier, " If (\$hebergement [\$possible [0]][3] != \"\") { \$http_garennes .= \"/\" ; }\n") ;
		  FPuts ($fichier, "\n // Installation OK\n") ;
		  FPuts ($fichier, " \$installation = 1 ; // 0=Installation non fini/a verifier/Mise a jour ; 1=Installation finie/Ne pas verifier\n") ;
		  FPuts ($fichier, "\n // Les differentes pages\n") ;
		  FPuts ($fichier, " \$page_sortie = \$http_garennes.\"sortie.php\" ;\n") ;
                  FPuts ($fichier, " \$page_premiere = \$http_garennes.\"index.php\" ;\n") ;
                  FPuts ($fichier, " \$page_rien = \$http_garennes ;\n") ;
                  FPuts ($fichier, "\n // Nom de la frame contenant le logiciel si existe\n") ;
                  If (IsSet ($nom_frame) And ($nom_frame == "")) { FPuts ($fichier, " //") ; } Else { FPuts ($fichier, " ") ; }
                  FPuts ($fichier, "\$nom_frame = \"".$nom_frame."\" ;\n") ;
		  FPuts ($fichier, "?") ; FPuts ($fichier, ">") ;
		 }
		ElseIf ($_POST ["ecriture"] == 2)
                 {
		  // Nouvelle base
		  Include_Once ("./include/garennes.cfg") ;
		  Include_Once ("./include/init.php") ;
		  $id_sql = SQL_etablissement_connexion ($sql_adresse, $sql_qui, $sql_passe, $sql_port) ;
  	          $ok = SQL_commande ("DROP DATABASE IF EXISTS ".$base_choisie, $id_sql) ;
                 }
               }
	      // Essai de la connexion sur une base existante
	      Include_Once ("./include/garennes.cfg") ;
	      $id_sql = SQL_etablissement_connexion ($sql_adresse, $sql_qui, $sql_passe, $sql_port) ;
	      If ($id_sql)
               {
	        // Selection de la base
                $selection = SQL_selection_bd ($base_choisie, $id_sql) ;
                If ($selection)
                 {
		  // Base existe
		  $ok = 1 ;
		  // Verification de version
                  $v = verif_version ($id_sql) ;
                  $version = $v [0] ;
                  $num_version = $v [1] ;
		  // Test du nombre de tables
                  //$nbr_tables = SQL_commande ("SHOW TABLES FROM ".$base_choisie, $id_sql) ;
                  //If (SQL_nbr_lignes ($nbr_tables) >= $nom_tables [0][0])
		  If ($version == $version_garennes)
                   {
		    // Version 0.6.4 -> Mise a jour supplementaire ?
		    If (test_presence_champ ("gestion", "coefficient", $id_sql) == 1) { maj_064 ($id_sql) ; }
		    // OK : Etape suivante (fin)
		    Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\">" ;
		    Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                    Echo "<TR><TD>&nbsp;</TD></TR>" ;
		    Echo "<TR><TD>&nbsp;V&eacute;rification de la base de donn&eacute;es <B><I>".$base_choisie."</I></B> -> Ok !.&nbsp;</TD></TR>" ;
		    Echo "<TR><TD>&nbsp;</TD></TR>" ;
		    Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		    Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		    Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".($etape_verif+1)."&bdd_sql=".$base_choisie."'\" TITLE=\"Passer &agrave; l'&eacute;tape 2\" STYLE=\"border:1px solid #000000\" VALUE=\" &Eacute;TAPE SUIVANTE -> \"></TD></FORM>" ;
		    Echo "</TR></TABLE>" ;
                   }
                  Else
                   {
                    // Mise a jour de la base de donnees
		    // Verification que toutes les versions sont accessibles
		    If ($num_version > 0)
		     {
		      $pb = 0 ;
		      For ($i = $num_version ; $i <= $test [0][0] ; $i++)
		       {
		        If (test_lecture_fichier ("./include", "maj_".Str_Replace (".", "", $test [$i][0])."_".Str_Replace (".", "", $test [$i+1][0]).".sql") == 0) { $pb++ ; }
		       }
		     }
		    $version_php = Explode (".", PHPVersion ()) ;
	            $test_gd = Extension_Loaded ("gd") ;
	            $test_mysql = Extension_Loaded ("mysql") ;
	            $mysql_version = Explode (".", MySQL_Get_Client_Info ()) ;
	            $test_register_globals = Ini_Get ("register_globals") ;
		    //test_ecriture_rep ("./images/logos")
                    If (!(test_ecriture_rep ("./inclus") And test_ecriture_rep ("./administration/restauration") And
		          test_ecriture_rep ("./administration/sauvegarde") And test_ecriture_rep ("./tmp") And
			  test_ecriture_rep ("./images/eleves") And test_ecriture_rep ("./images/eleves/vignettes") And
		          test_ecriture_rep ("./images/profs") And test_ecriture_rep ("./images/profs/vignettes") And
			  test_ecriture_rep ("./include") And test_ecriture_rep ("./images") And
		          test_ecriture_rep ($repertoire_logos_bulletins_racine) And test_ecriture_rep ($repertoire_logos_releves_racine) And
		          ($version_php [0] > "3") And ($version_php > "2") And $test_mysql))// And ($test_register_globals == 0)))
                     { $pb++ ; }
		    If ($pb > 0)
		     {
		      $pb = 0 ;
		      Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
		      Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD COLSPAN=\"3\" STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                      Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
		      Echo "<TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\">&nbsp;Pour continuer l'installation, vous devez r&eacute;gler les probl&egrave;mes suivants :&nbsp;</TD></TR>" ;
		      Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
		      For ($i = $num_version ; $i <= $test [0][0] ; $i++)
		       {
		        If (test_lecture_fichier ("./include", "maj_".Str_Replace (".", "", $test [$i][0])."_".Str_Replace (".", "", $test [$i+1][0]).".sql") == 0)
			 {
			  Echo "<TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\">&nbsp;Le fichier de mise &agrave; jour <B><I>/include/maj_".Str_Replace (".", "", $test [$i][0])."_".Str_Replace (".", "", $test [$i+1][0]).".sql</I></B> est inaccessible en lecture.&nbsp;</TD></TR>" ;
		          Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
			  $pb++ ;
                         }
		       }
		      If (($version_php [0] < "4") And ($version_php [1] < "3"))
		       {
		        Echo "<TR><TD>&nbsp;Vous utilisez PHP version <B>".PHPVersion ()."</B>.&nbsp;Garennes ne fonctionne qu'&agrave; partir de la version 4.3.x&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
		       }
		      // Register globals
		      If ($test_register_globals == 1)
		       {
		        Echo "<TR><TD>&nbsp;Il est conseill&eacute; de positionner la variable <B><I>register_globals</I></B> sur <B><I>off</I></B> (voir documentation d'installation <I><A HREF=\"./documentation/garennes_installation.pdf\">garennes_installation.pdf</A></I>).<BR>" ;
		        Echo "&nbsp;&nbsp;Cette variable est indispensable au fonctionnement s&eacute;curitaire de Garennes.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
		       }
		      // Module GD
		      If (!$test_gd)
		       {
		        Echo "<TR><TD>&nbsp;Le module <B>GD</B> n'est pas activ&eacute; ou install&eacute;. Il n'emp&egrave;che pas Garennes de fonctionner, mais vous ne pourrez pas visualiser le bilan graphique correctement.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
		       }
		      // Support MySQL
		      If ($test_mysql)
		       {
		        If (($mysql_version [0] < "3") And ($mysql_version [1] < "23"))
		         {
		          Echo "<TR><TD>&nbsp;Le client <B>MySQL</B> d&eacute;tect&eacute; est une version inf&eacute;rieure &agrave; 3.23.&nbsp;</TD></TR>" ;
		          Echo "<TR><TD>&nbsp;</TD></TR>" ;
		          $pb++ ;
		         }
		       }
		      Else
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le module MySQL semble ne pas &ecirc;tre activ&eacute; ou install&eacute;.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
		       }
		      // Test d'ecriture
		      If (!test_ecriture_rep ("./administration/restauration"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/administration/restauration/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
                      If (!test_ecriture_rep ("./administration/sauvegarde"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/administration/sauvegarde/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
		      If (!test_ecriture_rep ("./images"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
		      If (!test_ecriture_rep ("./images/eleves"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/eleves/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
		      //If (!test_ecriture_rep ("./images/logos"))
		      // {
		      //  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/logos/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		      //  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		      //  $pb++ ;
                      // }
		      If (!test_ecriture_rep ("./images/eleves/vignettes"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/eleves/vignettes/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
		      If (!test_ecriture_rep ("./images/profs"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/profs/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
		      If (!test_ecriture_rep ("./images/profs/vignettes"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/profs/vignettes/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
		      If (!test_ecriture_rep ($repertoire_logos_bulletins_racine))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/".$repertoire_logos_bulletins."</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
		      If ($repertoire_logos_bulletins_racine != $repertoire_logos_releves_racine)
		       {
		        If (!test_ecriture_rep ($repertoire_logos_releves_racine))
		         {
		          Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/".$repertoire_logos_releves."</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		          Echo "<TR><TD>&nbsp;</TD></TR>" ;
		          $pb++ ;
			 }
                       }
		      If (!test_ecriture_rep ("./include"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/include/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
		      If (!test_ecriture_rep ("./inclus"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/inclus/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
		      If (!test_ecriture_rep ("./tmp"))
		       {
		        Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/tmp/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        $pb++ ;
                       }
                      Echo "<TR><TD>&nbsp;</TD></TR>" ;
                      Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;R&eacute;gler le" ; If ($pb > 1) { Echo "s" ; }
		      Echo " probl&egrave;me" ; If ($pb > 1) { Echo "s" ; }
		      Echo ", puis cliquer sur <I>Refaire l'&eacute;tape 3...</I></TD></TR>" ;
		      Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		      Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		      Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&bdd_sql=".$base_choisie."'\" TITLE=\"Refaire l'&eacute;tape 3...\" STYLE=\"border:1px solid #000000\" VALUE=\"Refaire l'&eacute;tape 3...\"></TD></FORM>" ;
		      Echo "</TR></TABLE>" ;
		     }
		    Else
		     {
		      If ($num_version > 0)
		       {
		        $pb = 0 ;
			$pb_ligne = "" ;
			$rapport = "" ;
		        For ($i = $num_version ; $i <= $test [0][0] ; $i++)
		         {
		          $contenu = File ("./include/maj_".Str_Replace (".", "", $test [$i][0])."_".Str_Replace (".", "", $test [$i+1][0]).".sql") ;
			  $rapport .= "Mise &agrave; jour de la ".$test [$i][0]." -> ".$test [$i+1][0]."&nbsp;" ;
		          $selection = SQL_selection_bd ($base_choisie, $id_sql) ;
		          $j = 0 ;
			  $pb_maj = 0 ;
		          While ($j < SizeOf ($contenu))
		           {
		            If ((SubStr ($contenu [$j], 0, 1) != "#") And (SubStr ($contenu [$j], 0, 1) != "\n"))
		             {
		              $ligne = Chop ($contenu [$j]) ;
		              If (SubStr (Chop ($contenu [$j]), StrLen (Chop ($contenu [$j]))-1, 1) != ";")
		               {
		                $j++ ;
		                While (SubStr (Chop ($contenu [$j]), StrLen (Chop ($contenu [$j]))-1, 1) != ";")
		                 {
		                  $ligne .= Chop ($contenu [$j]) ;
		                  $j++ ;
                                 }
                                $ligne .= Chop ($contenu [$j]) ;
		               }
                              $ok = SQL_commande ($ligne, $id_sql) ;
			      If (!$ok)
			       {
			        $rapport .= "<br>&nbsp;&nbsp;&nbsp;<font size=\"-2\">->&nbsp;Requ&ecirc;te&nbsp;:&nbsp;".$ligne."&nbsp;->&nbsp;<b>".SQL_message_erreur ($id_sql)."</b></font>" ;
			        $pb++ ;
				$pb_maj++ ;
				$pb_ligne .= $ligne."<br>" ;
			       }
		             }
                            $j++ ;
		           }
			  If ($pb_maj == 0) { $rapport .= "(<b>OK</b>)<br>" ; }
                          If ($test [$i+1][0] == "0.6.5") { maj_065 ($id_sql) ; }
			  // Si version > 0.5.2 alors ecriture dans patch
			  If ($i > 2)
                           {
                            $version = Str_Replace (".", "", $test [$i][0])."_".Str_Replace (".", "", $test [$i+1][0]) ;
                            $ok = SQL_commande ("SELECT id_patch FROM patch WHERE patch='".$version."' LIMIT 1", $id_sql) ;
                            If (SQL_nbr_lignes ($ok) == 0)
                             {
                              $ok = SQL_commande ("INSERT INTO patch (id_patch,patch,date) VALUES ('','".$version."','".Date ("Y-m-d H:i:s")."')", $id_sql) ;
                             }
                            Else
                             {
                              $r = SQL_ligne_suivante ($ok) ;
                              $ok = SQL_commande ("UPDATE patch SET patch='".$version."',date='".Date ("Y-m-d H:i:s")."' WHERE id_patch='".$r [0]."' LIMIT 1", $id_sql) ;
                             }
                           }
		         }
                        If ($pb == 0)
		         {
			  // Version 0.6.4 -> Mise a jour supplementaire
			  maj_064 ($id_sql) ;
		          Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\">" ;
		          Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                          Echo "<TR><TD>&nbsp;</TD></TR>" ;
		          Echo "<TR><TD>&nbsp;Mise &agrave; jour de la base de donn&eacute;es <B><I>".$base_choisie."</I></B> -> Ok !.&nbsp;</TD></TR>" ;
		          Echo "<TR><TD>&nbsp;</TD></TR>" ;
		          Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		          Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		          Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".($etape_verif+1)."&bdd_sql=".$base_choisie."'\" TITLE=\"Passer &agrave; l'&eacute;tape 4\" STYLE=\"border:1px solid #000000\" VALUE=\" &Eacute;TAPE SUIVANTE -> \"></TD></FORM>" ;
		          Echo "</TR></TABLE>" ;
		         }
		        Else
		         {
		          Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
		          Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                          Echo "<TR><TD>&nbsp;</TD></TR>" ;
		          Echo "<TR><TD>&nbsp;".$pb." probl&egrave;me(s) ont &eacute;t&eacute; d&eacute;tect&eacute;s dans la mise &agrave; jour de la base de donn&eacute;es <B><I>".$base_choisie."</I></B>.&nbsp;</TD></TR>" ;
			  Echo "<TR><TD>&nbsp;".$pb_lignes."&nbsp;</TD></TR>" ;
		          Echo "<TR><TD><hr></TD></TR>" ;
			  Echo "<TR><TD>&nbsp;".$rapport."&nbsp;</TD></TR>" ;
			  Echo "<TR><TD><hr></TD></TR>" ;
			  Echo "<TR><TD>&nbsp;Vous pouvez passer cette &eacute;tape si vous estimez que ces erreurs ne sont pas graves : par exemple, un champ existant d&eacute;j&agrave;,...</TD></TR>" ;
			  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		          Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		          Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		          Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&bdd_sql=".$base_choisie."'\" TITLE=\"Refaire l'&eacute;tape 3\" STYLE=\"border:1px solid #000000\" VALUE=\"Refaire l'&eacute;tape 3...\"></TD></FORM></tr>" ;
                          Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
                          Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		          Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".($etape_verif+1)."&bdd_sql=".$base_choisie."'\" TITLE=\"Passer &agrave; l'&eacute;tape 4\" STYLE=\"border:1px solid #000000\" VALUE=\"Passer &agrave; l'&eacute;tape 4...\"></TD></FORM>" ;
		          Echo "</TR></TABLE>" ;
		         }
		       }
		      Else
		       {
		        // Une bdd Garennes existe mais pas de version donc on supprime et on remplace
			$ok = SQL_commande ("DROP DATABASE ".$base_choisie, $id_sql) ;
			Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
		        Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;Destruction de la base Garennes existante : Elle ne correspond &agrave; aucune version !.&nbsp;</TD></TR>" ;
		        Echo "<TR><TD>&nbsp;</TD></TR>" ;
		        Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		        Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		        Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&bdd_sql=".$base_choisie."'\" TITLE=\"Passer &agrave; l'&eacute;tape 3\" STYLE=\"border:1px solid #000000\" VALUE=\"Refaire l'&eacute;tape 3...\"></TD></FORM>" ;
		        Echo "</TR></TABLE>" ;
			//Header ("Location: verif_install.php?etape_verif=3&ecriture=0") ;
		       }
		     }
		    //Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
		    //Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD COLSPAN=\"3\" STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape 3/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                    //Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
		    //Echo "<TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\">&nbsp;Pour continuer l'installation, vous devez r&eacute;gler les probl&egrave;mes suivants :&nbsp;</TD></TR>" ;
		    //Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
		    //If (SQL_nbr_lignes ($nbr_tables) == 0)
                    // {
		    //  Echo "<TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\">&nbsp;Il n'y a aucune table ou il est impossible (par s&eacute;curit&eacute;) d'acc&eacute;der aux noms des tables.&nbsp;</TD></TR>" ;
		    //  Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
		    //  Echo "<TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\">&nbsp;Vous pouvez cr&eacute;er une nouvelle base,&nbsp;</TD></TR>" ;
                    // }
                    //Else
		    // {
		    //  Echo "<TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\">&nbsp;Il n'y a pas toutes les tables dans la base existante.&nbsp;</TD></TR>" ;
		    //  Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
		    //  Echo "<TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\">&nbsp;Vous pouvez l'utiliser, ou cr&eacute;er une nouvelle base,&nbsp;</TD></TR>" ;
                    // }
                    //Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
                    //Echo "<TR><TD COLSPAN=\"3\" ALIGN=\"CENTER\">&nbsp;ou r&eacute;gler ce probl&egrave;me, ou appeler un technicien, puis cliquer sur REV&Eacute;RIFIER.&nbsp;</TD></TR>" ;
		    //Echo "<TR><TD COLSPAN=\"3\">&nbsp;</TD></TR>" ;
		    //Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		    //If (SQL_nbr_lignes ($nbr_tables) == 0)
		    // { Echo "<TD>&nbsp;</TD>" ; }
		    //Else
                    // {
		    //  Echo "<FORM><TD STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		    //  Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=4&ecriture=0&bdd_sql=".$base_choisie."'\" TITLE=\"Passer &agrave; l'&eacute;tape 4/".$nombre_etapes."\" STYLE=\"border:1px solid #000000\" VALUE=\" UTILISER LA BASE EXISTANTE \"></TD></FORM>" ;
                    // }
  	            //Echo "<FORM><TD ALIGN=\"CENTER\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		    //Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=3&ecriture=2&bdd_sql=".$base_choisie."'\" TITLE=\"Refaire l'&eacute;tape 3/".$nombre_etapes."\" STYLE=\"border:1px solid #000000\" VALUE=\" CR&Eacute;ER UNE NOUVELLE BASE \"></TD></FORM>" ;
		    //Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		    //Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=3&ecriture=0&bdd_sql=".$base_choisie."'\" TITLE=\"Refaire l'&eacute;tape 3/".$nombre_etapes."\" STYLE=\"border:1px solid #000000\" VALUE=\" REV&Eacute;RIFIER \"></TD></FORM>" ;
		    //Echo "</TR></TABLE>" ;
                   }
		 }
                Else
		 {
		  // Base n'existe pas
		  If (!test_lecture_fichier ("./include", "garennes.sql"))
                   {
		    // Pb d'acces au fichier garennes.sql
		    Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
		    Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                    Echo "<TR><TD>&nbsp;</TD></TR>" ;
		    Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Pour continuer l'installation, vous devez r&eacute;gler les probl&egrave;mes suivants :&nbsp;</TD></TR>" ;
		    Echo "<TR><TD>&nbsp;</TD></TR>" ;
		    Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le fichier <B><I>/include/garennes.sql</I></B> doit &ecirc;tre accessible en lecture.&nbsp;</TD></TR>" ;
		    Echo "<TR><TD>&nbsp;</TD></TR>" ;
                    Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;R&eacute;gler le probl&egrave;me ou appeler un technicien, puis cliquer sur SUIVANT.&nbsp;</TD></TR>" ;
		    Echo "<TR><TD>&nbsp;</TD></TR>" ;
		    Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		    Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		    Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&ecriture=0&bdd_sql=".$base_choisie."'\" TITLE=\"Refaire l'&eacute;tape ".$etape_verif."/".$nombre_etapes."\" STYLE=\"border:1px solid #000000\" VALUE=\" SUIVANT -> \"></TD></FORM>" ;
		    Echo "</TR></TABLE>" ;
		   }
		  Else
		   {
		    Echo "<FORM ACTION=\"./verif_install.php\" METHOD=\"POST\">" ;
		    Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"etape_verif\" VALUE=\"".($etape_verif+1)."\">" ;
		    Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"ecriture\" VALUE=\"1\">" ;
		    Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\">" ;
		    Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD COLSPAN=\"2\" STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                    Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		    If (IsSet ($ecriture) And ($ecriture == 2))
		     {
		      Echo "<TR><TD COLSPAN=\"2\">&nbsp;La base de donn&eacute;es <B><I>".$base_choisie."</I></B> vient d'&ecirc;tre effac&eacute;e pour en cr&eacute;er une nouvelle.&nbsp;</TD></TR>" ;
		     }
		    Else
		     {
		      Echo "<TR><TD COLSPAN=\"2\">&nbsp;La base de donn&eacute;es <B><I>".$base_choisie."</I></B> n'existe pas.&nbsp;</TD></TR>" ;
                     }
                    Echo "<INPUT TYPE=\"HIDDEN\" NAME=\"base_choisie\" VALUE=\"".$base_choisie."\">" ;
		    Echo "<TR><TD COLSPAN=\"2\">&nbsp;L'&eacute;tape suivante va cr&eacute;er cette base initiale &agrave; partir du fichier <B><I>/include/garennes.sql</I></B>&nbsp;</TD></TR>" ;
		    Echo "<TR><TD COLSPAN=\"2\">&nbsp;et ins&eacute;rer le premier utilisateur de cette base : L'administrateur.&nbsp;</TD></TR>" ;
		    Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		    Echo "<TR><TD COLSPAN=\"2\" BGCOLOR=\"".$theme [10][2]."\">&nbsp;<B>Renseignements sur l'administrateur Garennes :</B>&nbsp;</TD></TR>" ;
		    Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		    Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;Si vous voulez utiliser l'administrateur par d&eacute;faut i.e.<BR>&nbsp;d'identifiant <B>admin</B> et de mot de passe <B>admin</B><BR>&nbsp;laisser les champs vides.&nbsp;</TD></TR>" ;
		    Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		    Echo "<TR>" ;
		    Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Civilit&eacute;</B> :&nbsp;</TD>" ;
		    Echo "<TD><SELECT NAME=\"admin_civil\"><OPTION VALUE=\"0\">Madame</OPTION><OPTION VALUE=\"1\">Mademoiselle</OPTION><OPTION VALUE=\"2\">Monsieur</OPTION></SELECT>&nbsp;</TD>" ;
		    Echo "</TR>" ;
		    Echo "<TR>" ;
		    Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Nom</B> :&nbsp;</TD>" ;
		    Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"admin_nom\" SIZE=\"30\" MAXLENGTH=\"25\" VALUE=\"Administrateur\">&nbsp;</TD>" ;
		    Echo "</TR>" ;
		    Echo "<TR>" ;
		    Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Pr&eacute;nom</B> :&nbsp;</TD>" ;
		    Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"admin_prenom\" SIZE=\"30\" MAXLENGTH=\"25\" VALUE=\"Garennes\">&nbsp;</TD>" ;
		    Echo "</TR>" ;
		    Echo "<TR>" ;
		    Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Identifiant</B> :&nbsp;</TD>" ;
		    Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"admin_login\" SIZE=\"30\" MAXLENGTH=\"200\" VALUE=\"admin\">&nbsp;</TD>" ;
		    Echo "</TR>" ;
		    Echo "<TR>" ;
		    Echo "<TD ALIGN=\"RIGHT\">&nbsp;<B>Mot de passe</B> :&nbsp;</TD>" ;
		    Echo "<TD><INPUT TYPE=\"TEXT\" NAME=\"admin_passe\" SIZE=\"30\" MAXLENGTH=\"200\" VALUE=\"admin\">&nbsp;(<B>ATTENTION</B> : Mot de passe lisible)&nbsp;</TD>" ;
		    Echo "</TR>" ;
		    Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		    Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		    Echo "<TD COLSPAN=\"2\" ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
	            Echo "<INPUT TYPE=\"SUBMIT\" TITLE=\"Passer &agrave; l'&eacute;tape 4\" STYLE=\"border:1px solid #000000\" VALUE=\" &Eacute;TAPE SUIVANTE -> \" NAME=\"submit\"></TD>" ;
		    Echo "</TR></TABLE></FORM>" ;
                   }
		 }
	       }
	      Else
	       {
	        // Pb de connexion au SQL
		Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
		Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD COLSPAN=\"2\" STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
                Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;Pour continuer l'installation, vous devez r&eacute;gler les probl&egrave;mes suivants :&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;L'utilisateur <B><I>".$sql_qui."</I></B> n'a pas les droits de se connecter au serveur SQL <B><I>".$sql_adresse."</I></B>.&nbsp;</TD></TR>" ;
                $message_erreur = SQL_message_erreur ($id_sql) ;
                Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\"><br>Erreur renvoy&eacute;e&nbsp;par&nbsp;le&nbsp;serveur&nbsp;SQL&nbsp;:&nbsp;<br>&nbsp;\"<b>".$message_erreur."</b>\"&nbsp;<bR>&nbsp;</TD></TR>" ;
                If (StrPos ($message_erreur, "using password: NO") > 0)
                 {
                  Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;Il&nbsp;se&nbsp;pourrait&nbsp;que&nbsp;l'utilisateur&nbsp;<b>".$sql_qui."</b>&nbsp;a&nbsp;besoin&nbsp;d'un&nbsp;mot&nbsp;de&nbsp;passe&nbsp;!&nbsp;</TD></TR>" ;
                 }
		Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;Il doit poss&eacute;der les droits minimum suivants :&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;<B>SELECT,INSERT,UPDATE,DELETE,FILE,CREATE,ALTER,INDEX,DROP</B>.&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
                Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;R&eacute;gler le probl&egrave;me avec <B>phpMyAdmin</B> ou appeler un technicien, puis cliquer sur SUIVANT.&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
		Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
		Echo "<FORM><TD STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".($etape_verif-1)."&bdd_sql=".$base_choisie."'\" TITLE=\"Refaire l'&eacute;tape ".($etape_verif-1)."/".$nombre_etapes." : V&eacute;rification des param&ecirc;tres...\" STYLE=\"border:1px solid #000000\" VALUE=\" <- PR&Eacute;C&Eacute;DENT \"></TD></FORM>" ;
		Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
		Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&ecriture=0&bdd_sql=".$base_choisie."'\" TITLE=\"Refaire l'&eacute;tape ".$etape_verif."/".$nombre_etapes."\" STYLE=\"border:1px solid #000000\" VALUE=\" SUIVANT -> \"></TD></FORM>" ;
		Echo "</TR></TABLE>" ;
	       }
              Break ;
     Case 5 : Include_Once ("./include/garennes.cfg") ;
   	      Include_Once ("./include/init.php") ;
              $base_choisie = var_courante ("base_choisie", 0, "garennes") ;
	      $id_sql = SQL_etablissement_connexion ($sql_adresse, $sql_qui, $sql_passe, $sql_port) ;
              If (IsSet ($_POST ["ecriture"]) And ($_POST ["ecriture"] > 0))
               {
		// Ecriture bdd
		$contenu = File ("./include/garennes.sql") ;
		// Nouvelle base
  	        $ok = SQL_commande ("DROP DATABASE IF EXISTS ".$base_choisie, $id_sql) ;
	        $ok = SQL_commande ("CREATE DATABASE ".$base_choisie, $id_sql) ;
		$selection = SQL_selection_bd ($base_choisie, $id_sql) ;
		$i = 0 ;
		While ($i < SizeOf ($contenu))
		 {
		  If ((SubStr ($contenu [$i], 0, 1) != "#") And (SubStr ($contenu [$i], 0, 1) != "\n"))
		   {
		    $ligne = Chop ($contenu [$i]) ;
		    If (SubStr (Chop ($contenu [$i]), StrLen (Chop ($contenu [$i]))-1, 1) != ";")
		     {
		      $i++ ;
		      While (SubStr (Chop ($contenu [$i]), StrLen (Chop ($contenu [$i]))-1, 1) != ";")
		       {
		        $ligne .= Chop ($contenu [$i]) ;
		        $i++ ;
                       }
                      $ligne .= Chop ($contenu [$i]) ;
		     }
                    $ok = SQL_commande ($ligne, $id_sql) ;
		   }
                  $i++ ;
		 }
                $ok = SQL_commande ("DELETE FROM utilisateurs", $id_sql) ;
		
                If (($_POST ["admin_login"] != "") And ($_POST ["admin_passe"] != ""))
		 {
                  $ok = SQL_commande ("INSERT INTO utilisateurs (id_utilisateur,nom,prenom,login,passe,droits,civilite,millesime)
		                       VALUES ('1','".$_POST ["admin_nom"]."','".$_POST ["admin_prenom"]."','".$_POST ["admin_login"]."','".$_POST ["admin_passe"]."','".$droit_admin."','".$_POST ["admin_civil"]."','".$millesime."')", $id_sql);
                  $admin_defaut = 0 ;
                 }
                Else
		 {
		  $ok = SQL_commande ("INSERT INTO utilisateurs (id_utilisateur,nom,prenom,login,passe,droits,civilite,millesime)
		                       VALUES ('1','Garennes','Administrateur','admin','admin','".$droit_admin."','2','".$millesime."')", $id_sql) ;
                  $admin_defaut = 1 ;
		 }
	       }
              Else { $selection = SQL_selection_bd ($base_choisie, $id_sql) ; }
              // Verification que la base a bien ete cree et que l'utilisateur a bien ete insere
              $creation = SQL_commande ("SHOW TABLES", $id_sql) ;
              If (SQL_nbr_lignes ($creation) == 0)
               {
	        Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
	        Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape finale</B>&nbsp;</TD></TR>" ;
                Echo "<TR><TD>&nbsp;</TD></TR>" ;
	        Echo "<TR><TD>&nbsp;La base de donn&eacute;es&nbsp;\"<B><I>".$base_choisie."</I></B>\"&nbsp;n'a pas &eacute;t&eacute; cr&eacute;e !&nbsp;</TD></TR>" ;
	        Echo "<TR><TD>&nbsp;</TD></TR>" ;
                Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;L'administrateur de Garennes doit poss&eacute;der les droits minimum suivants :&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;<B>SELECT,INSERT,UPDATE,DELETE,FILE,CREATE,ALTER,INDEX,DROP</B>.&nbsp;</TD></TR>" ;
		Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
                Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;R&eacute;gler le probl&egrave;me avec <B>phpMyAdmin</B> ou appeler un technicien, puis cliquer sur SUIVANT.&nbsp;</TD></TR>" ;
                Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
	        Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
	        Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
	        Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&ecriture=1&bdd_sql=".$base_choisie."'\" TITLE=\"Derni&egrave;re &eacute;tape.\" STYLE=\"border:1px solid #000000\" VALUE=\"Refaire la derni&egrave;re &eacute;tape...\"></TD></FORM>" ;
	        Echo "</TR></TABLE>" ;
	        Include ("./professeurs/include/fin_theme.inc") ;
                Echo "</HTML>" ;
                Exit () ;
               }
              Else
               {
                $creat_util = SQL_commande ("SELECT * FROM utilisateurs ORDER BY id_utilisateur LIMIT 1", $id_sql) ;
                If (SQL_nbr_lignes ($creation) == 0)
                 {
                  Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
	          Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape finale</B>&nbsp;</TD></TR>" ;
                  Echo "<TR><TD>&nbsp;</TD></TR>" ;
	          Echo "<TR><TD>&nbsp;L'utilisateur&nbsp;\"<B><I>".$base_choisie."</I></B>\"&nbsp;n'a pas &eacute;t&eacute; cr&eacute;e !&nbsp;</TD></TR>" ;
	          Echo "<TR><TD>&nbsp;</TD></TR>" ;
                  Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;L'administrateur de Garennes doit poss&eacute;der les droits minimum suivants :&nbsp;</TD></TR>" ;
		  Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;<B>SELECT,INSERT,UPDATE,DELETE,FILE,CREATE,ALTER,INDEX,DROP</B>.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
                  Echo "<TR><TD COLSPAN=\"2\" ALIGN=\"CENTER\">&nbsp;R&eacute;gler le probl&egrave;me avec <B>phpMyAdmin</B> ou appeler un technicien, puis cliquer sur SUIVANT.&nbsp;</TD></TR>" ;
                  Echo "<TR><TD COLSPAN=\"2\">&nbsp;</TD></TR>" ;
	          Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
	          Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
	          Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&ecriture=1&bdd_sql=".$base_choisie."'\" TITLE=\"Derni&egrave;re &eacute;tape.\" STYLE=\"border:1px solid #000000\" VALUE=\"Refaire la derni&egrave;re &eacute;tape...\"></TD></FORM>" ;
	          Echo "</TR></TABLE>" ;
	          Include ("./professeurs/include/fin_theme.inc") ;
                  Echo "</HTML>" ;
                  Exit () ;
                 }
               }
	      If (File_Exists ("./majig"))
               {
                If (Is_Writable ("./majig")) { @Unlink ("./majig") ; }
                If (File_Exists ("./majig"))
                 {
	          Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
	          Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape finale</B>&nbsp;</TD></TR>" ;
                  Echo "<TR><TD>&nbsp;</TD></TR>" ;
	          Echo "<TR><TD>&nbsp;Le fichier <B><I>majig</I></B> ne peux pas &ecirc;tre d&eacute;truit par Apache.&nbsp;</TD></TR>" ;
	          Echo "<TR><TD>&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;Demandez &agrave; votre administrateur de le supprimer.&nbsp;</TD></TR>" ;
		  Echo "<TR><TD>&nbsp;</TD></TR>" ;
	          Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
	          Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
	          Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&bdd_sql=".$base_choisie."'\" TITLE=\"Derni&egrave;re &eacute;tape.\" STYLE=\"border:1px solid #000000\" VALUE=\"Refaire la derni&egrave;re &eacute;tape...\"></TD></FORM>" ;
	          Echo "</TR></TABLE>" ;
	          Include ("./professeurs/include/fin_theme.inc") ;
                  Echo "</HTML>" ;
                  Exit () ;
	         }
               }
	      Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\">" ;
	      Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape ".$etape_verif."/".$nombre_etapes."</B>&nbsp;</TD></TR>" ;
              Echo "<TR><TD>&nbsp;</TD></TR>" ;
	      Echo "<TR><TD>&nbsp;L'installation de <B>Garennes <I>".$version_garennes."</I></B> est termin&eacute;e !&nbsp;</TD></TR>" ;
	      Echo "<TR><TD>&nbsp;</TD></TR>" ;
	      Echo "<TR><TD>&nbsp;Vous pouvez vous connecter en administrateur.&nbsp;</TD></TR>" ;
	      If (IsSet ($admin_defaut) And ($admin_defaut == 1))
	       {
	        Echo "<TR><TD>&nbsp;Identifiant&nbsp;:&nbsp;<B>admin</B>&nbsp;</TD></TR>" ;
		Echo "<TR><TD>&nbsp;Mot&nbsp;de&nbsp;passe&nbsp;:&nbsp;<B>admin</B>&nbsp;</TD></TR>" ;
	       }
	      Echo "<TR><TD>&nbsp;</TD></TR>" ;
	      Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;(c)&nbsp;JFC&nbsp;2000-".Date ("Y")."&nbsp;-&nbsp;Garennes&nbsp;</TD></TR>" ;
	      Echo "</TABLE>" ;
              Break ;
    }
   Include ("./professeurs/include/fin_theme.inc") ;
   If ($etape_verif == $nombre_etapes) { Echo "<BR><CENTER><FORM><INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./index.php'\" TITLE=\"Premi&egrave;re connexion\" STYLE=\"border:1px solid #000000\" VALUE=\" UTILISER GARENNES \"></FORM></CENTER>" ; }
   Echo "</HTML>" ;
   Exit () ;
  }
 Else
  {
   $etape_verif = 0 ;
   If (File_Exists ("./inclus/config.inc"))
    {
     Include ("./include/garennes.cfg") ;
     // Test connexion au SQL
     // Test le serveur primaire si existe
     If (!IsSet ($sql_port))
      {
       If (IsSet ($type_bdd))
        {
         If ($type_bdd == "MySQL") { $sql_port = 3306 ; } Else { $sql_port = 5432 ; }
        }
       Else { $sql_port = 3306 ; }
      }
     // Test sans port
     If (IsSet ($bdd_sql) And ($bdd_sql != "")) { $base_choisie = $bdd_sql ; }
     ElseIf ($sql_base != "") { $base_choisie = $sql_base ; }
     Else { $base_choisie = "garennes" ; }
     $id_sql = SQL_connexion ($sql_adresse, $sql_qui, $sql_passe, $base_choisie, "") ;
     If (!$id_sql)
      {
       If ($f = @FSockOpen ($sql_adresse, $sql_port, $errno, $errstr, $timeout))
        {
         FClose ($f) ;
         $id_sql = SQL_connexion ($sql_adresse, $sql_qui, $sql_passe, $base_choisie, $sql_port) ;
         If (!$id_sql)
          {
           If ($sql_secondaire != "")
            {
             // Test le serveur secondaire si existe
             If ($f = @FSockOpen ($sql_secondaire, $sql_port, $errno, $errstr, $timeout))
              {
               FClose ($f) ;
               $id_sql = SQL_connexion ($sql_secondaire, $sql_qui, $sql_passe, $base_choisie, $sql_port) ;
              }
             ElseIf ($sql_tertiaire != "")
              {
               // Test le serveur tertiaire si existe
               If ($f = @FSockOpen ($sql_tertiaire, $sql_port, $errno, $errstr, $timeout))
                {
                 FClose ($f) ;
                 $id_sql = SQL_connexion ($sql_tertiaire, $sql_qui, $sql_passe, $base_choisie, $sql_port) ;
		}
              }
            }
          }
        }
      }
     If (IsSet ($id_sql) And $id_sql)
      {
       // Selection de la base
       $selection = SQL_selection_bd ($base_choisie, $id_sql) ;
       If ($selection)
        {
         // Connexion OK
	 // Verification de version
         $v = verif_version ($id_sql) ;
         $version = $v [0] ;
         // Test du nombre de tables
	 If ($version == $version_garennes)
          {
  	   // Nombre de table OK
	   $version_php = Explode (".", PHPVersion ()) ;
	   $test_gd = Extension_Loaded ("gd") ;
	   $test_mysql = Extension_Loaded ("mysql") ;
	   $mysql_version = Explode (".", MySQL_Get_Client_Info ()) ;
	   $test_register_globals = Ini_Get ("register_globals") ;
	   //test_ecriture_rep ("./images/logos")
           If (test_ecriture_rep ("./inclus") And test_ecriture_fichier ("./inclus", "config.inc") And
               test_ecriture_rep ("./administration/restauration") And test_ecriture_rep ("./administration/sauvegarde") And
	       test_ecriture_rep ("./tmp") And test_ecriture_rep ("./images/eleves") And test_ecriture_rep ("./images/eleves/vignettes") And
	       test_ecriture_rep ("./images/profs") And test_ecriture_rep ("./images/profs/vignettes") And
	       test_ecriture_rep ("./include") And test_ecriture_rep ("./images") And
	       test_ecriture_rep ($repertoire_logos_bulletins_racine) And test_ecriture_rep ($repertoire_logos_releves_racine) And
	       ($version_php [0] > "3") And ($version_php > "2") And $test_mysql)
            {
	     $etape_verif = 0 ;
	    }
	   Else
	    {
	     $etape_verif = 4 ;
	    } 
          }
         Else
          {
	   // A mettre a jour
  	   $etape_verif = 3 ;
          }
        }
       Else
        {
         // Pas de selection possible
         $etape_verif = 2 ;
        }
      }
     Else
      {
       // Pb de connexion a la base SQL
       $etape_verif = 2 ;
      }
    }
   Else
    {
     // Pas de /inclus/config.inc
     $etape_verif = 1 ;
    }
   If ($etape_verif != 0)
    {
     $code = -1 ;
     $version_php = Explode (".", PHPVersion ()) ;
     $test_register_globals = Ini_Get ("register_globals") ;
     
     Include_Once ("./include/init.php") ;
     Include ($rep_themes."config.inc") ;
     $param_theme ["nom_repertoire"] = $themes [$themes [0][1]][1] ;
     $param_theme ["fichier_config"] = $themes [$themes [0][1]][2] ;
     Include ($rep_themes.$param_theme ["nom_repertoire"]."/".$param_theme ["fichier_config"]) ;
     Echo "<HTML><HEAD>" ;
     entete_html ("Garennes.", "_self", 0) ;
     Echo styles ("none", "none", "none", $theme [0][32], "none") ;
     Echo"</HEAD><BODY BACKGROUND=\"./images/fond.png\" BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\" onContextMenu=\"return false\">" ;
     Echo "<CENTER><IMG SRC=\"./images/logo.png\" BORDER=\"0\"></CENTER><BR>" ;
     Include ("./professeurs/include/debut_theme.inc") ;
     If ($etape_verif < 3)
      {
       Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\" width=\"100%\">" ;
       Echo "<TR><TD ALIGN=\"CENTER\" BGCOLOR=\"".$theme [0][3]."\" STYLE=\"border-bottom:1px solid #000000\">&nbsp;Bonjour,&nbsp;</TD></TR>" ;
       Echo "<TR><TD>&nbsp;</TD></TR>" ;
       Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;L'installation&nbsp;de&nbsp;Garennes&nbsp;n'est&nbsp;pas&nbsp;termin&eacute;e.&nbsp;</TD></TR>" ;
       Echo "<TR><TD>&nbsp;</TD></TR>" ;
       Echo "<TR><TD ALIGN=\"CENTER\">Nous&nbsp;allons&nbsp;la&nbsp;continuer&nbsp;&agrave;&nbsp;partir&nbsp;de&nbsp;l'&eacute;tape&nbsp;</TD></TR>" ;
      }
     ElseIf ($etape_verif < 4)
      {
       Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BGCOLOR=\"".$couleur_ok."\" width=\"100%\">" ;
       Echo "<TR><TD ALIGN=\"CENTER\" BGCOLOR=\"".$theme [0][3]."\" STYLE=\"border-bottom:1px solid #000000\">&nbsp;Bonjour,&nbsp;</TD></TR>" ;
       Echo "<TR><TD>&nbsp;</TD></TR>" ;
       Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Installation&nbsp;d'une&nbsp;mise&nbsp;&agrave&nbsp;jour&nbsp;de&nbsp;Garennes.&nbsp;</TD></TR>" ;
       Echo "<TR><TD>&nbsp;</TD></TR>" ;
       Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Base&nbsp;de&nbsp;donn&eacute;es&nbsp;:&nbsp;<b>".$base_choisie."</b>.&nbsp;</TD></TR>" ;
       Echo "<TR><TD>&nbsp;</TD></TR>" ;
      }
     Else
      {
       Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\" width=\"100%\">" ;
       Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD COLSPAN=\"2\" STYLE=\"border-bottom:1px solid #000000\"><B>&nbsp;L'installation&nbsp;de&nbsp;Garennes&nbsp;n'est&nbsp;pas&nbsp;termin&eacute;e.&nbsp;</B>&nbsp;</TD></TR>" ;
       Echo "<TR><TD ALIGN=\"CENTER\">Il&nbsp;y&nbsp;a&nbsp;un&nbsp;probl&egrave;me&nbsp;d'acc&egrave;s&nbsp;:&nbsp;</TD></TR>" ;
      }
     // Traitement de l'erreur
     $l = "" ;
     Switch ($etape_verif)
      {
       Case  1 : Echo "<TR><TD ALIGN=\"CENTER\">de&nbsp;configuration&nbsp;initiale</TD></TR>" ;
                 Break ;
       Case  2 : Echo "<TR><TD ALIGN=\"CENTER\">de&nbsp;configuration&nbsp;de&nbsp;la&nbsp;connexion&nbsp;SQL&nbsp;avec&nbsp;cr&eacute;ation&nbsp;de&nbsp;la&nbsp;base&nbsp;de&nbsp;donn&eacute;es</TD></TR>" ;
                 Break ;
       Case  3 : Echo "<TR><TD ALIGN=\"CENTER\">La&nbsp;version&nbsp;actuelle&nbsp;doit&nbsp;&ecirc;tre&nbsp;la&nbsp;<B>".$version."</B>.<BR><BR>" ;
		 Echo "Cette&nbsp;&eacute;tape&nbsp;permet&nbsp;de&nbsp;la&nbsp;porter&nbsp;en&nbsp;<B>".$version_garennes."</B>.</TD></TR>" ;
                 Break ;
       Case  4 : $pb = 0 ;
		 If (($version_php [0] < "4") And ($version_php [1] < "3"))
		  {
		   Echo "<TR><TD>&nbsp;Vous utilisez PHP version <B>".PHPVersion ()."</B>.&nbsp;Garennes ne fonctionne qu'&agrave; partir de la version 4.3.x&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
		  }
	 	 // Register globals
		 If ($test_register_globals == 1)
		  {
		   Echo "<TR><TD>&nbsp;Il est conseill&eacute; de positionner la variable <B><I>register_globals</I></B> sur <B><I>off</I></B> (voir documentation d'installation <I><A HREF=\"./documentation/garennes_installation.pdf\">garennes_installation.pdf</A></I>).<BR>" ;
		   Echo "&nbsp;&nbsp;Cette variable est indispensable au fonctionnement s&eaute;curitaire de Garennes.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
		  }
		 // Module GD
		 If (!$test_gd)
		  {
		   Echo "<TR><TD>&nbsp;Le module <B>GD</B> n'est pas activ&eacute; ou install&eacute;. Il n'emp&egrave;che pas Garennes de fonctionner, mais vous ne pourrez pas visualiser le bilan graphique correctement.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
		  }
		 // Support MySQL
		 If ($test_mysql)
		  {
		   If (($mysql_version [0] < "3") And ($mysql_version [1] < "23"))
		    {
		     Echo "<TR><TD>&nbsp;Le client <B>MySQL</B> d&eacute;tect&eacute; est une version inf&eacute;rieure &agrave; 3.23.&nbsp;</TD></TR>" ;
		     Echo "<TR><TD>&nbsp;</TD></TR>" ;
		     $pb++ ;
		    }
		  }
		 Else
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le module MySQL semble ne pas &ecirc;tre activ&eacute; ou install&eacute;.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
		  }
		 // Test d'ecriture
		 If (!test_ecriture_rep ("./administration/restauration"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/administration/restauration/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
                 If (!test_ecriture_rep ("./administration/sauvegarde"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/administration/sauvegarde/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
		 If (!test_ecriture_rep ("./images"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
		 If (!test_ecriture_rep ("./images/eleves"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/eleves/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
		 //If (!test_ecriture_rep ("./images/logos"))
		 // {
		 //  Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/logos/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		 //  Echo "<TR><TD>&nbsp;</TD></TR>" ;
		 //  $pb++ ;
                 // }
		 If (!test_ecriture_rep ("./images/eleves/vignettes"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/eleves/vignettes/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
		 If (!test_ecriture_rep ("./images/profs"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/profs/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
		 If (!test_ecriture_rep ("./images/profs/vignettes"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/images/profs/vignettes/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
		 If (!test_ecriture_rep ($repertoire_logos_bulletins_racine))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/".$repertoire_logos_bulletins."</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
		 If ($repertoire_logos_bulletins_racine != $repertoire_logos_releves_racine)
		  {
		   If (!test_ecriture_rep ($repertoire_logos_releves_racine))
		    {
		     Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/".$repertoire_logos_releves."</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		     Echo "<TR><TD>&nbsp;</TD></TR>" ;
		     $pb++ ;
		    }
                  }
		 If (!test_ecriture_rep ("./include"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/include/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
		 If (!test_ecriture_rep ("./inclus"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/inclus/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
		 If (File_Exists ("./inclus/config.inc"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Un fichier <B><I>config.inc</I></B> existe dans le r&eacute;pertoire <I>/inclus/</I>.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Il est pr&eacute;f&eacute;rable de le sauvegarder, car il va &ecirc;tre &eacute;cras&eacute; par la nouvelle installation.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
		   If (!test_ecriture_fichier ("./inclus", "config.inc"))
		    {
		     Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;ATTENTION : De plus, ce fichier n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		     Echo "<TR><TD>&nbsp;</TD></TR>" ;
		     $pb++ ;
		    }
		  }
		 If (!test_ecriture_rep ("./tmp"))
		  {
		   Echo "<TR><TD ALIGN=\"CENTER\">&nbsp;Le r&eacute;pertoire <B>/tmp/</B>&nbsp;n'est pas accessible en &eacute;criture.&nbsp;</TD></TR>" ;
		   Echo "<TR><TD>&nbsp;</TD></TR>" ;
		   $pb++ ;
                  }
                 Break ;
      }
     $test_max_execution_time = Ini_Get ("max_execution_time") ;
     $test_error_reporting = Ini_Get ("error_reporting") ;
     If (((integer)$test_max_execution_time <= 299) Or ((integer)$test_error_reporting != 2039))
      {
       Echo "<tr><td align=\"center\"><B>Pour utiliser Garennes,<BR>v&eacute;rifier les variables suivantes dans <I>php.ini</I><br><br>" ;
       If ((integer)$test_register_globals == 1) { Echo "register_global = off (FORTEMENT CONSEILL&Eacute;)<BR>" ; }
       Echo "memory_limit = 32M (POUR &Eacute;DITION PDF)<BR>" ;
       If ((integer)$test_max_execution_time <= 299) { Echo "max_execution_time = 300 (&Aacute; ADAPTER EN FONCTION DE LA PUISSANCE DE VOTRE SERVEUR)<BR>" ; }
       If ((integer)$test_error_reporting != 2039) { Echo "error_reporting = E_ALL & ~E_NOTICE (&Eacute;VITE LES AFFICHAGES INTEMPESTIFS)<BR>" ; }
       Echo "</td></tr>" ;
      }
     Echo "<TR><TD><BR></TD></TR>" ;
     Echo "<TR><TD ALIGN=\"RIGHT\"><IMG SRC=\"./secretariat/images/aide.png\" BORDER=\"0\" TITLE=\"AIDE\"><A HREF=\"./documentation/garennes_installation.pdf\" TARGET=\"_AIDE\">Obtenir&nbsp;de&nbsp;l'aide&nbsp;pour&nbsp;installer&nbsp;Garennes.</A>&nbsp;</TD></TR>" ;
     Echo "<TR><TD><BR></TD></TR>" ;
     Echo "<TR><FORM><TD ALIGN=\"RIGHT\" BGCOLOR=\"".$theme [0][3]."\" STYLE=\"border-top:1px solid #000000\">" ;
     If ($etape_verif < 4) { Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php?etape_verif=".$etape_verif."&bdd_sql=".$base_choisie."'\" TITLE=\"Premi&egrave;re connexion\" STYLE=\"border:1px solid #000000\" VALUE=\" Passer &agrave; l'&eacute;tape suivante -> \"></TD></FORM></TR>" ; }
     Else { Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./'\" TITLE=\"Rev&eacute;rifier...\" STYLE=\"border:1px solid #000000\" VALUE=\" Re-v&eacute;rification... -> \"></TD></FORM></TR>" ; }
     Echo "</TABLE>" ;
     Include ("./professeurs/include/fin_theme.inc") ;
     Echo "</HTML>" ;
     Exit () ;
    }
   Else
    {
     // On peut se connecter
     If (File_Exists ("./majig"))
      {
       If (Is_Writable ("./majig")) { @Unlink ("./majig") ; }
       If (File_Exists ("./majig"))
        {
	 Include_Once ("./include/init.php") ;
         Include ($rep_themes."config.inc") ;
         $param_theme ["nom_repertoire"] = $themes [$themes [0][1]][1] ;
         $param_theme ["fichier_config"] = $themes [$themes [0][1]][2] ;
         Include ($rep_themes.$param_theme ["nom_repertoire"]."/".$param_theme ["fichier_config"]) ;
	 Echo entete_page ("", "") ;
	 Echo "<HTML><HEAD>" ;
         entete_html ("Garennes.", "_self", 0) ;
         Echo styles ("none", "none", "none", $theme [0][32], "none") ;
         Echo"</HEAD><BODY BACKGROUND=\"./images/fond.png\" BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\" onContextMenu=\"return false\">" ;
         Echo "<CENTER><IMG SRC=\"./images/logo.png\" BORDER=\"0\"></CENTER><BR>" ;
	 $code = -1 ;
	 $titre_fenetre = "Installation de Garennes Version ".$version_garennes."...&nbsp;&nbsp;<I><A HREF=\"./documentation/garennes_installation.pdf\" TARGET=\"_AIDE\"><IMG SRC=\"./secretariat/images/aide.png\" BORDER=\"0\" TITLE=\"AIDE\"></A></I>" ;
         Include ("./professeurs/include/debut_theme.inc") ;
	 Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" BACKGROUND=\"./images/fond_bougeant_rouge.gif\" BGCOLOR=\"".$couleur_non_ok."\">" ;
	 Echo "<TR BGCOLOR=\"".$theme [0][3]."\"><TD STYLE=\"border-bottom:1px solid #000000\">&nbsp;<B>&Eacute;tape finale</B>&nbsp;</TD></TR>" ;
         Echo "<TR><TD>&nbsp;</TD></TR>" ;
	 Echo "<TR><TD>&nbsp;Le fichier <B><I>majig</I></B> n'a pas les droits permettant de le d&eacute;truire.&nbsp;</TD></TR>" ;
	 Echo "<TR><TD>&nbsp;</TD></TR>" ;
	 Echo "<TR><TD>&nbsp;D&eacute;truisez-le manuellement !&nbsp;</TD></TR>" ;
	 Echo "<TR><TD>&nbsp;</TD></TR>" ;
	 Echo "<TR BGCOLOR=\"".$theme [0][3]."\">" ;
	 Echo "<FORM><TD ALIGN=\"RIGHT\" STYLE=\"border-top:1px solid #000000\">&nbsp;" ;
	 Echo "<INPUT TYPE=\"BUTTON\" OnClick=\"javascript:location='./verif_install.php'\" TITLE=\"Derni&egrave;re &eacute;tape.\" STYLE=\"border:1px solid #000000\" VALUE=\"Refaire la derni&egrave;re &eacute;tape...\"></TD></FORM>" ;
	 Echo "</TR></TABLE>" ;
	 Include ("./professeurs/include/fin_theme.inc") ;
         Echo "</HTML>" ;
         Exit () ;
	}
      }
    }
  }
?>